Python从API返回的字典列表字符串中提取指定ticker的价格
解决方法
首先你得先把API返回的JSON字符串转换成Python能处理的列表对象,用json模块的loads()方法就行。之后遍历列表,匹配ticker为TSLA.US的条目,就能提取目标数据了。
完整代码示例
1. 解析JSON字符串并提取完整字典
import json # 假设api_response是你从API获取到的JSON字符串 api_response = ''' [ { "ticker": "BYDDF.US", "name": "BYD Co Ltd-H", "price": 25.635, "change_1d_prc": 9.927101200686117 }, { "ticker": "BYDDY.US", "name": "BYD Co Ltd ADR", "price": 51.22, "change_1d_prc": 9.843448423761526 }, { "ticker": "TSLA.US", "name": "Tesla Inc", "price": 194.7, "change_1d_prc": 7.67018746889343 } ] ''' # 把JSON字符串转成Python列表 data_list = json.loads(api_response) # 遍历列表找目标条目 for item in data_list: if item["ticker"] == "TSLA.US": print(item) # 输出完整字典 break # 找到后直接退出循环,提高效率
2. 仅提取price字段
如果只需要price,直接在匹配后取item["price"]即可:
import json api_response = '''[你的JSON字符串]''' data_list = json.loads(api_response) for item in data_list: if item["ticker"] == "TSLA.US": print(item["price"]) # 仅输出price值 break
你之前代码的问题
你之前的代码有两处错误:
- 没有把JSON字符串解析成Python对象,直接操作字符串肯定找不到
ticker字段 - 判断条件写反且拼写错误,应该是
item["ticker"] == "TSLA.US",而不是"ticker" == "TESLA.US"
内容的提问来源于stack exchange,提问作者Jorge Daniel Atuesta
相关产品推荐
相关产品推荐

