如何用Python遍历JSON数据提取各stationId对应的指定字段值?
问题解决方法
你的代码问题在于没有正确从嵌套的values字典中提取目标字段,而是直接把整个values字典赋值给了CircuitName。以下是修正后的实现:
import requests import json req = requests.get(api_request_url, params=params, headers=headers) data = json.loads(req.text) rows = [] for item in data: # 取出当前条目里的values嵌套字典 station_values = item["values"] # 组装需要的字段 row = { "stationId": item["stationId"], "CircuitName": station_values["CircuitName"], "DewPoint": station_values["DewPoint"], "WindSpeed": station_values["WindSpeed"] } rows.append(row) # 可选:打印结果验证 # print(rows)
核心修正点:
- 遍历列表时用
item代替i,语义更清晰 - 先提取
item["values"]到变量,避免重复嵌套访问 - 分别从
values字典中取出CircuitName、DewPoint、WindSpeed三个字段,对应到row的键值对中
注意:你提供的JSON里第一个WindSpeed的值是5/5,这不符合合法JSON格式,实际接口返回应该是数值(比如1.0)或者字符串(比如"5/5"),如果是字符串需要额外做转换处理。
内容的提问来源于stack exchange,提问作者SPena
相关产品推荐
相关产品推荐

