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

Python中API返回JSON转DataFrame遇KeyError: 'records'求助

解决JSON转DataFrame时的KeyError: 'records'问题

错误原因

你遇到的KeyError: 'records'是因为API返回的JSON结构里,records字段并不在顶层,而是嵌套在result字段下面。直接用顶层响应对象读取records自然找不到这个键。

你可以先打印响应的顶层键确认结构:

print(response.keys())

输出会是类似dict_keys(['success', 'result']),说明records在response['result']这个子字典里。

修正后的代码

同时清理掉冗余导入(重复导入了json_normalize,且StringIO未被使用),最终代码如下:

import requests
import pandas as pd

base_url = "https://data.gov.sg/api/action/datastore_search"
url = base_url + "?resource_id=d_8575e84912df3c28995b8e6e0e05205a"
response = requests.get(url).json()

# 先获取result下的records列表,再转成DataFrame
df = pd.json_normalize(response['result']['records'])
print(df)

额外说明

如果之后不确定JSON结构,可以用print(response['result'])查看result里的所有字段,确保你要读取的键存在其中,避免类似的键错误问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:02:03