如何将含多属性的JSON数据转换为指定格式的Pandas DataFrame
解决嵌套JSON转指定格式Pandas DataFrame的问题
直接将原始嵌套JSON传入pd.DataFrame()会保留嵌套结构,要得到目标格式,需要先提取并重组数据:
实现代码
import pandas as pd # 你的原始JSON数据 data = [ { "attribute_id": "a1", "attribute_name": "Profailkir Idkir", "elements":[ { "formValues": ["0000a634940"], "id": "0000a634940" }, { "formValues": ["0000c84724"], "id": "0000c84724" }] }, { "attribute_id": "a2", "attribute_name": "Profailkir Nama", "elements":[ { "formValues": ["'AFIFAH BINTI KHAIRUL JUBRI"], "id": "'AFIFAH BINTI KHAIRUL JUBRI" }, { "formValues": ["'AINUN JARIAH BINTI HASHIM"], "id": "'AINUN JARIAH BINTI HASHIM" }] } ] # 重组数据为DataFrame所需的字典结构 df_dict = {} for attr in data: # 用attribute_name作为列名 col_name = attr["attribute_name"] # 提取每个element里formValues的第一个值(案例中均为单元素列表) df_dict[col_name] = [elem["formValues"][0] for elem in attr["elements"]] # 生成目标DataFrame df = pd.DataFrame(df_dict) print(df)
代码说明
- 遍历原始JSON中的每个属性项,以
attribute_name作为DataFrame的列名 - 对每个属性的
elements列表,提取每个元素的formValues第一个值(案例里每个formValues都是仅含一个元素的列表),组成该列的所有行数据 - 将重组后的字典传入
pd.DataFrame(),即可得到你需要的扁平化表格格式
内容的提问来源于stack exchange,提问作者Afif Zuhair
相关产品推荐
相关产品推荐

