2013-06-10 4 views
2

Я пытаюсь загрузить данные из своего хранилища данных с помощью Bulkloader, но точность DateTimeProperty кажется выключенной, если я не делаю что-то не так.точность DateTimeProperty в loadload bulkload

Это свойство данных я пытаюсь загрузить:

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) 

Так что информация миллисекунды находится в хранилище данных, но, кажется, заблудились где-то в процессе пакетной загрузки.

Любые подсказки?

ответ

1

Запуск загрузчика с Python 2.7 разрешил эту проблему.

Видимо машина я управлял bulkloader от использовали Python 2.5, который не поддерживает% F макроса, см How can I parse a time string containing milliseconds in it with python?

+0

Хорошей работы по последующей деятельности в свой вопрос. Недостаточно того, что происходит ... – Tombatron

 Смежные вопросы

  • Нет связанных вопросов^_^