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

如何解决Pandas中sort_values后pd.to_datetime转JSON格式异常?

解决Pandas DataFrame转JSON时日期变为时间戳的问题

我之前也碰到过一模一样的情况!Pandas默认会把datetime对象序列化成毫秒级的Unix时间戳,这就是你看到那些长串数字的原因。好在解决起来很简单,给你两种实用方案:

方案1:直接在to_json()里指定日期格式

只需要给to_json()方法加个date_format参数,就能让日期输出成可读性强的字符串:

输出ISO 8601格式(推荐)

这种格式是通用的标准日期字符串,兼容性最好:

bot5 = data.sort_values('Amount', ascending=True)[['Time','Region','Amount','Class']].tail(N).reset_index()
print(bot5.to_json(orient='records', date_format='iso'))

输出示例会变成:

[{"Time":"2014-07-08T00:00:00Z","Amount":25691.16,"Region":"south"},...]

自定义日期格式

如果想要更贴合需求的格式(比如YYYY-MM-DD),直接把格式字符串传给date_format就行:

print(bot5.to_json(orient='records', date_format='%Y-%m-%d'))

输出的日期就会是"2014-07-08"这样的形式。

方案2:先把datetime列转成字符串再转JSON

如果需要更精细的格式控制(比如带时分秒的YYYY-MM-DD HH:MM:SS),可以先把datetime列手动转换成字符串,再导出JSON:

# 先将Time列转成指定格式的字符串
bot5['Time'] = bot5['Time'].dt.strftime('%Y-%m-%d %H:%M:%S')
# 再导出JSON
print(bot5.to_json(orient='records'))

注意:两种方案都需要确保你的Time列已经是datetime类型(你已经用pd.to_datetime()处理过,这一步没问题)。

内容的提问来源于stack exchange,提问作者sujithra deepak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:15:26