You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python多次调用AlphaVantage API失败,仅返回最后一项数据

问题原因及解决办法
  • 核心问题:你的请求和数据解析代码不在循环体内,循环仅修改了url变量,但最后只执行了一次requests.get(url),自然只会获取最后一次循环的ABC对应数据。
  • 解决步骤:
    1. 将请求和解析代码缩进,放入循环内部,确保每个标的都发起一次请求;
    2. 用列表这类容器存储每个标的的数据,避免每次循环覆盖之前的结果;
    3. 可以对符号列表去重,避免重复请求同一个标的浪费配额。

修正后的代码:

import requests

symbols = ["XYZW", "XYZW", "ABC"]
# 去重处理,避免重复请求同一标的
unique_symbols = list(set(symbols))
# 用列表存储所有标的的返回数据
all_data = []

for s in unique_symbols:
    url = 'https://www.alphavantage.co/query?function=BALANCE_SHEET&symbol={}&apikey=apikey'.format(s)
    r = requests.get(url)
    data = r.json()
    all_data.append(data)

# 此时all_data中包含所有标的的字典数据
print(all_data)

补充说明:

  • AlphaVantage免费版有请求频率限制(一般5次/分钟、500次/天),批量请求时建议添加延迟(比如time.sleep(12))避免触发限制;
  • 不存在自动排序的问题,你只拿到最后一项是因为循环结束后仅执行了一次请求,和排序无关。

内容的提问来源于stack exchange,提问作者JNC4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:15:49