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

使用Pandas解析REST API返回的嵌套JSON转DataFrame报KeyError如何解决

报错原因

你报错的核心原因是没有正确提取接口返回JSON里的表结构数据:接口返回的tables数组下的每个元素才是完整的表对象,包含columns(表头定义)和rows(行数据)两个核心字段,你直接把tables数组转DataFrame的话,生成的df列是name、columns、rows三个字段,自然找不到ApiId、count_这两个列。

修正后代码

import json
import pandas as pd
from tabulate import tabulate

# 原有接口响应解析逻辑保持不变
analytics_data = response_analytics.text
json_dict = json.loads(analytics_data)

# 核心修正逻辑:提取目标表的表头和行数据
# 取tables数组里的第一张表,如有多张表可遍历处理
target_table = json_dict["tables"][0]
# 从columns字段提取所有列名
col_names = [col["name"] for col in target_table["columns"]]
# 用行数据+列名生成DataFrame
df = pd.DataFrame(target_table["rows"], columns=col_names)

# 后续筛选、重命名、打印逻辑保持不变即可
cols_to_keep = ["ApiId", "count_"]
df_final = df[cols_to_keep]
df_final = df_final.rename(columns={"ApiId": "API Name", "count_": "Total requests"})

print(
    tabulate(
        df_final, showindex=False, headers=df_final.columns, tablefmt="psql", numalign="left"
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:06:03