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

Pandas Datareader无法获取Yahoo Finance数据?求助排查故障

问题分析与解决办法

这个问题是普遍存在的,并非你本地代码的问题,根源是Yahoo Finance调整了API的响应数据格式,导致旧版本的pandas-datareader无法正确解析返回内容,进而抛出string indices must be integers错误。目前已有大量用户在相关项目的Issue区反馈过该问题。

除更换数据源外,你可以尝试以下几种解决方案:

  • 升级pandas-datareader到最新版本
    开发团队通常会针对Yahoo的API变更快速修复适配逻辑,执行以下命令升级:

    pip install --upgrade pandas-datareader
    

    升级后重新测试拉取数据,大概率能解决问题。

  • 直接使用Yahoo官方维护的yfinance库
    pandas-datareader对Yahoo数据源的支持其实依赖yfinance,但直接使用官方库会更稳定,示例代码如下:

    import yfinance as yf
    # 拉取苹果公司2023年全年股价数据
    stock_data = yf.download("AAPL", start="2023-01-01", end="2024-01-01")
    print(stock_data.head())
    
  • 临时修复源码(不推荐)
    如果升级后仍未解决,可以手动修改pandas-datareader中处理Yahoo响应的模块(通常是site-packages/pandas_datareader/yahoo.py),调整响应解析逻辑,将返回的字符串转为可索引的JSON结构。但这种方法会被后续版本升级覆盖,仅作为临时应急方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:25:19