我正在尝试从API检索记录,并最终希望将它们存储在数据框中,以便我可以进行一些分析。但我收到以下错误:
for item in json_obj["records"]:
KeyError: 'records'
代码:
import urllib.request
import json
import urllib.request
url = 'https://eservices.mas.gov.sg/api/action/datastore/search.json?resource_id=7f1363cc-3875-4e03-a389-fc47342bb840&limit=5'
response = urllib.request.urlopen(url).read().decode('UTF-8')
json_obj = json.loads(response)
for item in json_obj["records"]:
print(item[end_of_month'])
print(item['preliminary'])
print(item['cards_main'])
答案 0 :(得分:0)
当你找不到API文档说它应该在那里的密钥时,你应该只打印json的文本,因为它是一种文本格式。
在这里,很明显records
密钥确实存在,但不是顶级密钥,而是result
的子密钥。
您的代码应为:
for item in json_obj["result"]["records"]:
print(item['end_of_month'])
print(item['preliminary'])
print(item['cards_main'])