Как отформатировать дату при загрузке данных из google-app-engine? - PullRequest
0 голосов
/ 19 мая 2010

Я использую 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]

Однако я все еще получаю сообщение об ошибке.

1 Ответ

1 голос
/ 19 мая 2010

Похоже, что вы получаете усечение в месте в третьем столбце, когда вы говорите

('date', str, None),

(другая попытка явно неверна, потому что вы получаете datetime и вы не можете strptime , что ! -). Если вам нужна дата в виде строки, попробуйте:

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

или измените strptime на strftime во второй попытке. Мнемоника: f в strftime означает f ormat: взять дату и время и отформатировать его в строку; p in strptime означает p ass: взять строку и сделать из нее дату и время. Это старые имена, взятые из стандартной библиотеки для ANSI C (и даже более раннее влияние на нее) ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...