python - 将 JSON 数据转换为 Python 数据框
问题描述
我正在尝试将 JSON 数据转换为 python 数据框。当我规范化 JSON 数据时,完整的数据作为系列对象存储在单个记录中。您能告诉我如何将以下 JSON 数据转换为 Python 数据框吗?
代码:
[{'Name':"SS",
'Order':[{'Type':'DO','Value':'10.11/7654326'},
{'Type':'UR','Value':'https://do.org/10.11/765436'}],
'Order_Type':'dsggg',
'Performance':[{'Per':{'Begin_Date':'2018-01-01','End_Date':'2018-02-02'},
'Ins':[{'Me':'TT','Sales':2}]}]},
{'Name':"MM",
'Order':[{'Type':'DO','Value':'10.11/7654326'},
{'Type':'UR','Value':'https://do.org/10.11/765436'}],
'Order_Type':'dsggg',
'Performance':[{'Per':{'Begin_Date':'2018-01-01','End_Date':'2018-02-02'},
'Ins':[{'Me':'TT','Sales':2}]}]}
]
解决方案
如果您不需要使用循环来获取每个循环,则可以使用 Pandas。
import pandas as pd
from pandas.io.json import json_normalize
data = [{'Name':"SS",
'Order':[{'Type':'DO','Value':'10.11/7654326'},
{'Type':'UR','Value':'https://do.org/10.11/765436'}],
'Order_Type':'dsggg',
'Performance':[{'Per':{'Begin_Date':'2018-01-01','End_Date':'2018-02-02'},
'Ins':[{'Me':'TT','Sales':2}]}]},
{'Name':"MM",
'Order':[{'Type':'DO','Value':'10.11/7654326'},
{'Type':'UR','Value':'https://do.org/10.11/765436'}],
'Order_Type':'dsggg',
'Performance':[{'Per':{'Begin_Date':'2018-01-01','End_Date':'2018-02-02'},
'Ins':[{'Me':'TT','Sales':2}]}]}]
df = pd.DataFrame.from_dict(json_normalize(data), orient='columns')
推荐阅读
- apache-spark - “避免每个集群有多个 Kudu 客户端”是什么意思?
- jquery - 使用 jQuery 会话在页面更改时保持购物车总数
- python - Python PIL 完全删除每个 alpha 通道
- flutter - 间接导出的类不可见
- java - 使用 WebElement 对象检查元素是否存在
- python - 是否有根据带有索引的向量进行排序的 numpy 函数?
- tcl - 如何检查变量的值在 32 位操作系统的 MAX_INT 和 MIN_INT 之间
- php - 为什么 time()-$_SERVER["REQUEST_TIME_FLOAT"] 在 php-cli 中关闭 1 秒?
- javascript - 在 Chrome 扩展中构建 ContextMenu 时如何将变量传递给另一个 HTML 页面?
- mongodb - MongoDB 指南针简单分组查询