为了账号安全,请及时绑定邮箱和手机立即绑定

使用 orient=records 将 Python3/Pandas 数据帧写入 JSON

使用 orient=records 将 Python3/Pandas 数据帧写入 JSON

炎炎设计 2023-10-31 21:17:11
我正在将一个非常小的 Pandas 数据帧写入 JSON 文件。事实上,Dataframe 只有一行两列。构建数据框:import pandas as pddf = pd.DataFrame.from_dict(dict({'date': '2020-10-05', 'ppm': 411.1}), orient='index').Tprint(df)印刷         date    ppm0  2020-10-05  411.1所需的 json 输出如下:{  "date": "2020-10-05",  "ppm": 411.1}但是当用 pandas 编写 json 时,我只能将其打印为包含一个元素的数组,如下所示:[  {    "date":"2020-10-05",    "ppm":411.1  }]我目前已经破解了我的代码,将 Dataframe 转换为字典,然后使用该json模块写入文件。import jsondata = df.to_dict(orient='records')data = data[0] # keep the only elementwith open('data.json', 'w') as fp:    json.dump(data, fp, indent=2)如果只有一个字典项,是否有一种使用 pandas 的本地方法.to_json()来保留唯一的字典项?我目前正在使用.to_json()这样的方法,它错误地打印了带有一个字典项的数组。df.to_json('data.json', orient='index', indent = 2)Python 3.8.6 熊猫 1.1.3
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果您只想导出一行,请使用iloc

print (df.iloc[0].to_dict())
#{'date': '2020-10-05', 'ppm': 411.1}


查看完整回答
反对 回复 2023-10-31
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信