我有一个包含一些日期对象的数据框。我需要转换为 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 之前手动将相关列转换为字符串可能是最佳选择。
