如何将API返回的单元素列表转换为字典?
解决方案
方法1:直接转换返回的列表
API返回的是包含单个字典的列表,直接通过索引提取第一个元素就能得到字典:
symbol = 'AAPL' api_url = f'https://financialmodelingprep.com/api/v3/profile/{symbol}?apikey={FMP_API_TOKEN}' data = requests.get(api_url).json() # 提取列表中的第一个字典元素,加判断避免列表为空时报错 data_dict = data[0] if data else {}
执行后data_dict就是你需要的字典格式数据。
方法2:封装成工具函数,每次调用直接返回字典
如果需要重复调用API,可以把逻辑封装成函数,让它直接返回字典,同时处理可能的异常情况:
import requests def get_stock_profile(symbol, api_token): api_url = f'https://financialmodelingprep.com/api/v3/profile/{symbol}?apikey={api_token}' try: response = requests.get(api_url) response.raise_for_status() # 检查请求是否成功 data = response.json() # 返回第一个字典,若列表为空则返回空字典 return data[0] if data else {} except requests.exceptions.RequestException as e: print(f"API请求出错: {e}") return {} # 使用示例 FMP_API_TOKEN = '你的API密钥' aapl_profile = get_stock_profile('AAPL', FMP_API_TOKEN)
这个函数会自动处理请求失败、返回数据异常等问题,调用后直接拿到字典格式的股票信息。
内容的提问来源于stack exchange,提问作者BannyM
相关产品推荐
相关产品推荐

