1

我有这个带有start_dateend_date的数据框

在此处输入图像描述

当我使用此行使用to_json转换为 json

json_data = df.to_json(orient='records')

现在,如果我打印json_data,则 start_date 将从yyyy-mm-dd转换为整数格式

请提出一种方法,使日期格式保持yyyy-mm-dd格式

4

2 回答 2

2

用于DataFrame.select_dtypes日期时间列,转换为格式YYYy-MM-DD并最后覆盖原始数据DataFrame.update

df.update(df.select_dtypes('datetime').apply(lambda x: x.dt.strftime('%Y-%m-%d')))

然后您的解决方案工作正常:

json_data  = df.to_json(orient='records')
于 2020-08-24T13:52:55.113 回答
2

首先设置日期的格式,然后设置date_format'iso'

df['start_date'] = pd.to_datetime(df['start_date']).dt.strftime('%Y-%m-%d')
df['end_date'] = pd.to_datetime(df['end_date']).dt.strftime('%Y-%m-%d')
data = df.to_json(orient='records', date_format='iso')
print(data)

[{"start_date":"2020-08-10","end_date":"2020-08-16"}]
于 2020-08-24T13:46:36.357 回答