【问题标题】:Converting dataframe to json in Python在 Python 中将数据帧转换为 json
【发布时间】:2018-05-01 21:06:05
【问题描述】:

我有这样的数据框:

dis equip siteRef installed RTU-1 m r:153c-699a HQ d:2005-06-01 RTU-2 m r:153c-699a HQ d:999-07-12

我需要一个json格式:

`{
  "meta": {"ver":"2.0", "projName":"test"},
  "cols":[
  {"name":"dis", "dis":"Equip Name"},
  {"name":"equip"},
  {"name":"siteRef"},
  {"name":"installed"}
 ],
  "rows":[
   {"dis":"RTU-1", "equip":"m:", "siteRef":"r:153c-699a HQ", 
     "installed":"d:2005-06-01"},
   {"dis":"RTU-2", "equip":"m:", "siteRef":"r:153c-699a HQ", 
     "installed":"d:999-07-12"}
 ]
}`

我可以使用 inbuild pandas.to_json 做到这一点吗?我尝试了所有 orient 选项,但找不到我需要的选项

【问题讨论】:

  • 您的 json 输出的数据比数据框中给出的数据多。是这样吗?怎么样?

标签: python json pandas dataframe type-conversion


【解决方案1】:

您必须自己构建所有元数据以及 rows-wrapper,但我能够实现您使用 to_json(orient="records") 提供的内容:

import pandas as pd

df = pd.DataFrame([
    {"dis": "RTU-1", "equip": "m", "siteRef": "r:153c-699a HQ", "installed": "d:2005-06-01"},
    {"dis": "RTU-2", "equip": "m", "siteRef": "r:153c-699a HQ", "installed": "d:999-07-12"}])
df.to_json(orient="records")

结果:

'[{"dis":"RTU-1","equip":"m","installed":"d:2005-06-01","siteRef":"r:153c-699a HQ"},{"dis":"RTU-2","equip":"m","installed":"d:999-07-12","siteRef":"r:153c-699a HQ"}]'

...您指定的“每个记录一个对象”格式,不是吗?

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 2020-09-06
    • 2019-09-26
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 2023-03-16
    • 2017-05-14
    • 2020-10-30
    相关资源
    最近更新 更多