如何从多层嵌套JSON中提取data并转换为Pandas DataFrame
直接提取嵌套JSON中的data层级并转换为DataFrame
核心解决方案
直接通过键值链式访问跳过外层嵌套,一步定位到data数组,无需手动移除外层结构:
import pandas as pd import requests # 假设已通过API获取响应,这里模拟请求示例 api_response = requests.get("你的API地址").json() # 直接链式访问目标层级 media_data = api_response['business_discovery']['media']['data'] # 转换为DataFrame df = pd.DataFrame(media_data)
异常处理优化
如果担心API返回结构可能缺失某个层级(比如请求失败、权限问题导致字段不存在),可以用dict.get()方法避免KeyError:
# 逐层安全获取,缺失时返回空列表 media_data = api_response.get('business_discovery', {}).get('media', {}).get('data', []) if media_data: df = pd.DataFrame(media_data) else: print("未获取到有效数据")
问题原因说明
你之前直接处理时提示找不到data,大概率是没有正确穿透外层的business_discovery和media层级,直接尝试访问api_response['data']才会报错——必须严格按照JSON的嵌套路径逐层访问。
内容的提问来源于stack exchange,提问作者Ursa Major
相关产品推荐
相关产品推荐

