熊猫to_json日期格式正在更改

问题描述

我有此数据框,其中包含开始日期结束日期

enter image description here

,当我使用 to_json 并使用此行

转换为json时
json_data = df.to_json(orient='records')

现在,如果我打印 json_data ,开始日期将从 yyyy-mm-dd 转换为整数格式

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

的方法

解决方法

首先设置日期格式,然后将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"}]
,

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')

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...