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

如何用json_normalize展开嵌套JSON,提取shipmentItems子字段到DataFrame

提取嵌套JSON数组字段到DataFrame独立列的解决方案

我来帮你搞定这个问题!你现在遇到的是json_normalize处理嵌套数组的常见场景,只要调整一下参数就能轻松把shipmentItems里的字段提取成独立列。

解决方案代码

import pandas as pd
import json

# 解析JSON数据(假设r.text是原始响应文本,且外层包含"shipments"键)
parsed_data = json.loads(r.text)
# 使用json_normalize展开数组并保留所需字段
df = pd.json_normalize(
    parsed_data['shipments'],
    record_path='shipmentItems',  # 指定需要展开的数组字段
    meta=[
        'shipmentDate', 
        'shipmentId', 
        'shipmentReference',
        ['transport', 'transportId']  # 保留嵌套的transportId字段
    ]
)

print(df.head())

代码说明

  • record_path='shipmentItems':告诉json_normalize要把这个数组里的每个对象拆分成单独的行,自动提取里面的orderId和orderItemId作为独立列。
  • meta参数:用来指定需要保留的顶层非数组字段,对于transport.transportId这种嵌套字段,用列表['transport', 'transportId']的形式精准定位即可。
  • 哪怕shipmentItems数组里包含多个对象,这个方法也能自动把每个对象对应到相同的顶层字段值,生成正确的多行数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:33:55