You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas的to_json()将DataFrame转为字典列表遇格式问题求助

解决pandas to_json的日期格式与结构问题

我来帮你搞定这个问题!你需要调整to_json()的两个关键参数,就能同时解决日期转字符串、输出行优先列表的需求:

1. 调整输出结构:orient='records'

默认的orient='columns'会生成列优先的JSON结构(键是列名,值是对应列的所有数据),而orient='records'会直接把每一行数据转成一个字典,最终输出一个字典列表,完全符合你要的格式。

2. 控制日期格式:date_format='iso' 或 date_format='string'

pandas的to_json()默认会把datetime类型转成Unix时间戳,设置date_format='iso'会将日期转换为ISO 8601格式的字符串(比如"2023-10-05T14:30:00");如果你的pandas版本在1.3.0及以上,也可以用date_format='string',效果一致。

如果你需要自定义日期格式(比如只保留年月日"2023-10-05"),可以先把datetime列转成字符串再转JSON:

df['日期列名'] = df['日期列名'].dt.strftime('%Y-%m-%d')

完整示例代码

import pandas as pd

# 读取Excel,确保浮点数格式的datetime被正确解析为日期类型
# 如果自动识别失败,手动指定parse_dates参数
df = pd.read_excel('test.xlsx', parse_dates=['日期列名'])

# 转换为目标格式的JSON
json_result = df.to_json(orient='records', date_format='iso')

# 打印查看结果
print(json_result)

补充说明

  • 要是读取Excel时浮点数datetime没被自动解析,一定要在read_excel里加上parse_dates参数指定日期列,确保列的类型是datetime64,这样后续转JSON时才能被正确处理。
  • 这两个参数可以组合使用,一次性解决结构和日期格式的问题,不用额外的复杂处理。

内容的提问来源于stack exchange,提问作者Gabriel Fernandes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:21:12