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

使用Pandas DataReader获取Yahoo数据时遇格式匹配错误求助

解决Pandas DataReader + yfinance获取Yahoo数据的ValueError问题

这个错误的核心原因是yfinance的pdr_override()会修改pandas_datareader.DataReader的参数逻辑:原本的参数顺序是(标的代码, 数据源, 起始时间, 结束时间),但启用override后,数据源参数会被忽略,如果你还传'yahoo',它会被错误识别成时间参数,导致格式不匹配的报错。

修正后的代码

import pandas_datareader as data
import yfinance as yf
import datetime

yf.pdr_override()
start = datetime.datetime(2020, 1, 1)
end = datetime.datetime(2023, 1, 1)

# 移除第二个参数'yahoo',yfinance会自动处理数据源
df = data.DataReader('MSFT', start, end)

print(df)

额外注意事项

  • 确保你的yfinance和pandas_datareader是最新版本,避免兼容性问题:
    pip install --upgrade yfinance pandas_datareader
    
  • 也可以直接使用yfinance原生接口获取数据,逻辑更直观:
    df = yf.download('MSFT', start=start, end=end)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:02:01