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

使用pandas_datareader获取Yahoo股票数据报“string indices must be integers”错误求助

解决pandas_datareader获取雅虎数据时的"string indices must be integers"错误

这个错误的核心原因是雅虎财经的API接口已更新,旧版pandas_datareader的Yahoo数据源无法正确解析返回的响应结构,导致代码尝试用字符串索引访问仅支持整数索引的对象,触发报错。

以下是可行的解决方法:

方法1:升级pandas_datareader并依赖yfinance

雅虎官方已不再支持原有的数据接口,pandas_datareader现在需要借助yfinance库来对接雅虎数据:

  1. 先安装/升级依赖:
pip install --upgrade pandas-datareader yfinance
  1. 修改代码为:
import pandas_datareader as pdr
df = pdr.get_data_yahoo('AAPL', start='2020-01-01', end='2020-12-31')
print(df)

方法2:直接使用yfinance(更稳定)

如果想绕开pandas_datareader的兼容性问题,可以直接用yfinance库获取数据:

  1. 安装yfinance:
pip install yfinance
  1. 使用以下代码:
import yfinance as yf
df = yf.download('AAPL', start='2020-01-01', end='2020-12-31')
print(df)

额外检查点

  • 确保你的Python环境网络正常,没有被代理或防火墙限制访问雅虎财经
  • 若仍有问题,尝试清理pip缓存后重新安装依赖:pip cache purge再执行安装命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:55:25