Формат даты и времени в Python отличается от формата - PullRequest
0 голосов
/ 10 июня 2018

У меня есть дата в моем фрейме данных с таким форматом, как этот

"2018-05-01"
"2018-05-02"
"2018-05-03"

Я хочу преобразовать дату в нечто подобное в моем JSON

"2018-05-01T00:00:00.000Z"
"2018-05-02T00:00:00.000Z"

Я пытался использовать pd.to_datetime(df['date']), но в результате получается что-то вроде 1523404800000 в моем файле JSON.Что я должен сделать, чтобы получить формат как "2018-05-02T00:00:00.000Z" в моем JSON?

1 Ответ

0 голосов
/ 10 июня 2018

Вы ищете date_format='iso' в df.to_json()

Полный пример:

import pandas as pd

csvdata = '''\
date
2018-05-01
2018-05-02
2018-05-03'''

fileobj = pd.compat.StringIO(csvdata)
df = pd.read_csv(fileobj, sep='\s+')

# without conversion
print(df.to_json()) 

# with conversion
df['date'] = pd.to_datetime(df['date'])
print(df.to_json()) 

# with conversion and adding date_format = iso
print(df.to_json(date_format='iso'))

Отпечатки:

{"date":{"0":"2018-05-01","1":"2018-05-02","2":"2018-05-03"}}
{"date":{"0":1525132800000,"1":1525219200000,"2":1525305600000}}
{"date":{"0":"2018-05-01T00:00:00.000Z","1":"2018-05-02T00:00:00.000Z","2":"2018-05-03T00:00:00.000Z"}}
...