Skip to main content
 首页 » 编程设计

python之防止 Pandas to_json() 将时间组件添加到日期对象

2025年05月04日13oomusou

我有一个包含一些日期对象的数据框。我需要转换为 json 以便在 JavaScript 中使用,这需要 YYYY-MM-DD,但是 to_json() 不断添加时间组件。我已经看到了许多首先转换为字符串的答案,但这是大约 15 个查询的循环的一部分,每个查询都有很多列(针对 SO 问题对其进行了简化),我不想将每个列转换硬编码为有很多。

import pandas as pd 
from datetime import date 
df = pd.DataFrame(data=[[date(year=2018, month=1, day=1)]])     
print df.to_json(orient='records', date_format='iso', date_unit='s') 

输出:

[{"0":"2018-01-01T00:00:00Z"}] 

期望的输出:

[{"0":"2018-01-01"}] 

请您参考如下方法:

Pandas 目前没有这个功能。有一个关于此的未决问题,您应该订阅该问题,以防在将来的版本中添加更多用于 date_format 参数的选项(这似乎是一个合理的功能请求):

No way with to_json to write only date out of datetime #16492

在转储 json 之前手动将相关列转换为字符串可能是最佳选择。