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

使用pandas-datareader调用YahooDailyReader提示No data fetched报错如何解决

报错原因说明
  • 原生pandas_datareader内置的雅虎财经接口已经在2021年被雅虎官方废弃,旧版本的get_data_yahoo方法无法正常请求到数据
  • 你使用的股票代码FB已在2021年正式更名为META,使用旧代码请求该标的数据也会触发拉取失败
解决方法

方案1:使用yfinance库替代(最稳定)

yfinance是目前主流的雅虎财经数据拉取工具,完全兼容pandas数据格式,使用步骤如下:

  1. 安装依赖库
pip install yfinance
  1. 替换原有代码即可,示例如下:
import yfinance as yf
import datetime

symbols = ['MSFT','AMZN','AAPL','GOOG','META'] # 将FB替换为META
start_date = datetime.datetime(2019,1,1)
end_date = datetime.datetime(2019,7,1)
stock_data = yf.download(symbols, start=start_date, end=end_date)
print(stock_data.head())

方案2:修复原生pandas_datareader接口

如果需要保留原有pandas_datareader的调用逻辑,可通过yfinance覆写原有接口:

  1. 先安装yfinance和最新版pandas_datareader
pip install yfinance pandas-datareader --upgrade
  1. 在代码开头添加覆写逻辑即可:
import yfinance as yf
yf.pdr_override() # 覆写pandas_datareader的雅虎接口

import datetime
import pandas_datareader.data as web

symbols = ['MSFT','AMZN','AAPL','GOOG','META']
start_date = datetime.datetime(2019,1,1)
end_date = datetime.datetime(2019,7,1)
stock_data = web.get_data_yahoo(symbols,start_date,end_date)
print(stock_data.head())
其他排查点
  • 确认当前网络可以正常访问雅虎财经服务,网络限制会导致请求失败
  • 确认所有股票代码的有效性,退市、更名的标的无法拉取对应时段的行情数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:45:02