You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas.json_normalize无法遍历JSON所有层级的扁平化问题求解

嵌套JSON全层级扁平化实现方案

核心是给json_normalize正确配置record_path(指定最内层待展开的数组路径)和meta(指定需要保留的上层公共字段),你的JSON结构嵌套路径为data → Responses → lines → vehiclePositions,最内层的单条记录存放在vehiclePositions数组中,调整后代码如下:

import pandas as pd
import json

# 建议用with语句管理文件句柄,避免资源泄露
with open("vp1.json", "r", encoding="utf-8") as f:
    json_obj = json.load(f)

df = pd.json_normalize(
    data=json_obj["data"],
    # 逐层写最内层待展开数组的路径
    record_path=["Responses", "lines", "vehiclePositions"],
    # 填写需要保留的上层字段,嵌套字段按层级写数组路径
    meta=[
        # 根层级的time字段
        "time",
        # lines层级的lineId字段
        ["Responses", "lines", "lineId"]
    ],
    # 可选配置:自定义层级字段的分隔符,默认是英文句号
    sep="_"
)

执行后生成的DataFrame每一行对应一条车辆位置记录,包含字段:time、lineId、directionId、distanceFromPoint、pointId,实现全层级扁平化。
如果后续有新增的嵌套层级,只要在record_path中补充对应路径,在meta中添加需要保留的上层字段即可。

内容的提问来源于stack exchange,提问作者Abdel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:36:03