use*_*044 4 python date python-2.7 pandas
我有一个包含一些日期对象的数据框。我需要转换为 json 以在 JavaScript 中使用,这需要 YYYY-MM-DD,但to_json()不断添加时间组件。我已经看到了许多首先转换为字符串的答案,但这是循环的一部分,每个查询包含许多列(针对 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')
Run Code Online (Sandbox Code Playgroud)
输出:
[{"0":"2018-01-01T00:00:00Z"}]
Run Code Online (Sandbox Code Playgroud)
期望输出:
[{"0":"2018-01-01"}]
Run Code Online (Sandbox Code Playgroud)
Pandas 目前没有这个功能。有一个关于此的未决问题,您应该订阅该问题,以防date_format在未来版本中添加更多参数选项(这似乎是一个合理的功能请求):
无法使用 to_json 只写超出日期时间的日期 #16492
在转储 json 之前手动将相关列转换为字符串可能是最好的选择。