如何从API JSON响应的data集合中仅返回指定值?
解决从API响应中提取指定日期与特定值的方法
核心思路
你需要将data中的每条记录与column_names做对应匹配,直接通过索引或列名定位目标字段,就能提取出日期和你需要的特定值,无需单独给每个列名赋值变量。
实现代码
假设你要提取日期和LiquidityRating(对应列索引4),可以参考以下代码:
import requests symbol = "YMAB" apikey = "你的API密钥" r = requests.get(url=f"https://data.nasdaq.com/api/v3/datasets/QOR/{symbol}/data.json?api_key={apikey}") d = r.json() dataset = d['dataset_data'] data_rows = dataset['data'] column_names = dataset['column_names'] # 动态定位目标字段的索引,比如找LiquidityRating的位置 target_col_name = "LiquidityRating" target_col_index = column_names.index(target_col_name) # 提取所有记录的日期和目标值 result = [] for row in data_rows: date = row[0] # 日期固定是第0位 target_value = row[target_col_index] result.append({ column_names[0]: date, target_col_name: target_value }) # 打印第一条记录示例 print(result[0])
简化场景:仅提取最新一条记录
如果只需要data中最新的那条数据(即data[0]),可以直接这样写:
latest_row = data_rows[0] latest_result = { column_names[0]: latest_row[0], target_col_name: latest_row[target_col_index] } print(latest_result)
示例输出
{'Date': '2022-08-05', 'LiquidityRating': 2.0}
内容的提问来源于stack exchange,提问作者Charlie Vids
相关产品推荐
相关产品推荐

