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

Pandas序列化JSON时如何移除日期对象中的时间部分

解决Pandas日期格式化时的AttributeError问题

错误原因

你遇到的AttributeError是因为当前result['date']列不是datetime类型(大概率是之前的操作把它转换成了字符串/object类型),而.dt访问器只能用于datetime-like的列。

具体解决方法

方法1:先转回datetime类型再格式化

如果你的date列已经是带时间的字符串格式(比如"2023-04-27 00:00:00"),先把它转成datetime类型,再用strftime格式化:

import pandas as pd

# 第一步:将字符串列转换为datetime类型
result['date'] = pd.to_datetime(result['date'])
# 第二步:格式化为纯日期字符串
result['date'] = result['date'].dt.strftime('%Y-%m-%d')

方法2:直接在JSON序列化时指定日期格式

如果你的目标是生成API用的JSON响应,不用手动修改DataFrame,直接用Pandas的to_json方法指定日期格式更高效:

# 生成JSON时自动把日期转成YYYY-MM-DD格式
json_response = result.to_json(orient='records', date_format='iso', date_unit='D')

date_unit='D'会强制只保留日期部分,输出就是"2023-04-28"这种纯日期格式。

方法3:提取date对象再转字符串

如果列本身已经是datetime类型,也可以直接提取date对象再转成字符串:

result['date'] = result['date'].dt.date.astype(str)

内容的提问来源于stack exchange,提问作者Anuj TBE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 04:52:01