【问题标题】:How to format date when I load data from google-app-engine?从 google-app-engine 加载数据时如何格式化日期?
【发布时间】:2010-05-19 02:21:37
【问题描述】:

我使用remote_api 从 Google App Engine 加载数据。

appcfg.py download_data --config_file=helloworld/GreetingLoad.py --filename=a.csv  --kind=Greeting helloworld

设置为:

class AlbumExporter(bulkloader.Exporter):
    def __init__(self):
        bulkloader.Exporter.__init__(self, 'Greeting',
                                     [('author', str, None),
                                      ('content', str, None),
                                      ('date', str, None),
                                     ])

exporters = [AlbumExporter]

然后我下载a.csv。日期不可读。

如何获取完整日期?

我改变了这个:

class AlbumExporter(bulkloader.Exporter):
    def __init__(self):
        bulkloader.Exporter.__init__(self, 'Greeting',
                                     [('author', str, None),
                                      ('content', str, None),
                                      ('date', lambda x: datetime.datetime.strptime(x, '%m/%d/%Y').date(), None),
                                     ])

exporters = [AlbumExporter]

但是,我仍然收到错误消息。

【问题讨论】:

    标签: python google-app-engine format load


    【解决方案1】:

    当您说时,您似乎在第三列的空格处被截断

    ('date', str, None),
    

    (另一种尝试显然是错误的,因为你得到了datetime 而你不能strptime 那个!-)。如果要将日期作为字符串,请尝试:

    ('date', lambda dt: str(dt.date()), None),
    

    或者,在您的第二次尝试中将 strptime 更改为 strftime。助记符:strftime 中的f 代表format:取一个日期时间并将其格式化为字符串; strptime 中的 p 代表 parse:取一个字符串并从中创建一个日期时间。它们是旧名称,来自 ANSI C 的标准库(甚至更早对它的影响)...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 2010-12-04
      • 2014-12-16
      • 1970-01-01
      相关资源
      最近更新 更多