如何从嵌套JSON文件中提取各区域碳排放强度预测数据
错误原因
你现有代码的核心问题是混淆了字典和列表的访问规则:API返回的data字段下的每个元素都是字典结构,不能使用数字索引(比如data[2])访问字段,字段需要通过键名提取。具体的结构层级是:
根JSON →
data列表 → 每个data元素(字典) →regions列表 → 每个region元素(字典) →shortname字段、intensity字典 →forecast字段
正确实现代码
import requests import pprint url = "https://api.carbonintensity.org.uk/regional" r = requests.get(url) print("Status Code:", r.status_code) # 存储API返回结果 response_dict = r.json() # 提取目标数据 datas = response_dict["data"] for data_item in datas: # 提取当前数据下的所有区域列表 regions = data_item["regions"] for region in regions: # 提取区域短名和对应的forecast值 short_name = region["shortname"] forecast_val = region["intensity"]["forecast"] print(f"区域:{short_name},预测碳排放强度:{forecast_val}")
代码说明
- 先遍历
data列表下的每个时间维度的数据项 - 再遍历每个数据项内的
regions区域列表 - 分别从每个区域字典中提取
shortname字段,以及嵌套在intensity字典下的forecast字段,即可完成需求
内容的提问来源于stack exchange,提问作者code
相关产品推荐
相关产品推荐

