如何用pandas json_normalize处理嵌套JSON生成指定结构的表格
解决方法
你可以直接提取JSON中的列配置,按列名映射对应行值生成DataFrame,不需要用json_normalize,直接手动处理结构效率更高:
完整代码示例
import pandas as pd import json # 假设你已经把JSON内容加载为Python字典,示例中用raw_json指代 # 若是从文件读取可以用: # with open("your_json_file.json", "r") as f: # raw_json = json.load(f) # 提取列配置列表 columns_config = raw_json["data"][0]["attributes"]["columns"] # 构造列数据字典 df_data = {} for col in columns_config: col_name = col["name"] # 处理service列的嵌套数组结构 if col_name == "service": df_data[col_name] = [item[0] for item in col["values"]] else: df_data[col_name] = col["values"] # 生成目标DataFrame df = pd.DataFrame(df_data)
输出验证
生成的df将完全符合你预期的表格结构:
| service | query1 | query2 | query3 | query4 | query4 / query3 |
|---|---|---|---|---|---|
| service_aaaaaa | 0.04434908435530647 | 44.23442286901232 | 5.501870351870352 | NaN | 0.0 |
| service_bbbbbb | 0.03417774374093277 | 114.35570798348397 | 32.807906894100927 | 3.8181818181818185 | 0.11637992726894603 |
内容的提问来源于stack exchange,提问作者R Wagner
相关产品推荐
相关产品推荐

