Я получаю даты из моего API в формате iso.
Когда я делаю:
df = DataFrame(results)
df.to_csv(path_or_buf=file_name, index=False, encoding='utf-8',
compression='gzip',
quoting=QUOTE_NONNUMERIC)
И я смотрю на CSV, который я вижу, например:
lastDeliveryDate
2018-11-21 16:25:53.990000-05:00
Однако
Когда я делаю:
df = DataFrame(results)
df.to_json(path_or_buf=file_name, orient="records",compression='gzip', lines=True)
Вижу (другая запись):
"lastDeliveryDate":1543258826689
Это проблема.
Когда я загружаю данные из CSV в Google BigQuery, все в порядке.Дата анализируется правильно.
Но когда я изменил загрузку на Json.Не правильно разбирает дату.
Я вижу даты в этом формате:
50866-01-09 23:46:40 UTC
Это происходит потому, что to_json()
и to_csv()
дают разные результаты для дат в iso_format
Какя могу это исправить?Должен ли я редактировать фрейм данных и преобразовать все мои столбцы дат в обычный UTC?Как мне это сделать?а зачем это нужно для to_json()
а не for to_csv()
?
как объяснено на Как преобразовать строку даты-времени ISO 8601 в объект даты-времени Python? Попытался сделать:
df["lastDeliveryDate"] = dateutil.parser.parse(df["lastDeliveryDate"])
Но это дает:
TypeError: Parser должен быть строкой или символьным потоком, а не Series