【发布时间】:2021-06-02 18:56:49
【问题描述】:
我正在处理一个数据集,我应用 to_json() 方法将 pandas 数据框导出到 json 文件中。然后我将使用这个 json 文件上传到 MongoDB。但是我意识到日期时间格式已转换为纪元时间戳。 如何在导出到 JSON 文件以及将 json 文件上传到 MongoDB 时保留日期时间格式?另外,我不希望 json 输出中出现空字段。
df:
user_id datetime
0 69490717 [{'checkin_date': 2021-02-01 00:00:00}]
1 67125777 [{'checkin_date': 2021-02-01 00:00:00}]
2 62747294 NaN
3 63216896 [{'checkin_date': 2021-02-01 00:00:00}]
4 51466797 [{'checkin_date': 2021-01-31 00:00:00}]
... ... ...
96 82758550 NaN
97 44662827 NaN
98 36376189 [{'checkin_date': 2021-01-18 00:00:00}]
99 71910948 [{'checkin_date': 2021-01-18 00:00:00}, {'checkout_date': 2021-01-20 00:00:00}]
100 54620533 NaN
json 输出片段:
[{"user_id":62507249,"datetime":[{"checkin_date":1612051200000},{"checkout_date":1612051200000}]},
{"user_id":69546481,"datetime":[{"checkin_date":1612051200000}]}, ......]
以下是我转换为 json 的代码:
jsonresult = df.T.apply(lambda row: row[~row.isnull()].to_json())
json_wrapped = "[%s]" % ",".join(jsonresult)
# write JSON to file
with open('jsonresult.json', 'w') as f:
f.write(json_wrapped)
【问题讨论】:
标签: python json pandas mongodb datetime