我有这个带有start_date和end_date的数据框
当我使用此行使用to_json转换为 json
json_data = df.to_json(orient='records')
现在,如果我打印json_data,则 start_date 将从yyyy-mm-dd转换为整数格式
请提出一种方法,使日期格式保持yyyy-mm-dd格式
我有这个带有start_date和end_date的数据框
当我使用此行使用to_json转换为 json
json_data = df.to_json(orient='records')
现在,如果我打印json_data,则 start_date 将从yyyy-mm-dd转换为整数格式
请提出一种方法,使日期格式保持yyyy-mm-dd格式
用于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')
首先设置日期的格式,然后设置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"}]