猿问

AppEngine批量加载中DateTimeProperty的精度

我正在尝试使用Bulkloader从我的数据存储区下载数据,但是DateTimeProperty的精度似乎不正确,除非我做错了事。


这是我要下载的数据的属性:


class LoggingPrimitive(polymodel.PolyModel):

    [...]

    start = ndb.DateTimeProperty(auto_now_add=True, required=True)

这是我的bulkloader.yaml文件


- kind: LoggingPrimitive

  connector: csv

  connector_options:

    export_options:

      delimiter: "|"

  property_map:

    [...]

    - property: start

      external_name: start

      # Type: Date/Time Stats: 5123 properties of this type in this kind.

      import_transform: transform.import_date_time('%Y-%m-%dT%H:%M:%S')

      export_transform: transform.export_date_time('%Y-%m-%d %H:%M:%S.%f')

我下载的CSV中的数据如下所示:


    2013-05-25 22:06:17.

因此,下载的CSV数据不包含毫秒。


当我在交互式控制台中使用transform.export_date_time函数时,我的确获得了毫秒数。


fn=transform.export_date_time('%Y-%m-%d %H:%M:%S.%f')

print fn(l.start)

因此,毫秒信息位于数据存储区中,但似乎在批量加载过程中的某个位置丢失了。


有什么线索吗?


侃侃无极
浏览 148回答 1
1回答

慕丝7291255

使用Python 2.7运行bulkloader解决了此问题。显然,我从中运行批量加载器的计算机使用的是不支持%f宏的Python 2.5,请参阅如何使用python解析其中包含毫秒的时间字符串?
随时随地看视频慕课网APP

相关分类

Python
我要回答