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

使用yahoo_fin/yfinance获取雅虎财报数据遇空DataFrame及KeyError问题

解决雅虎财经数据获取的两个问题:空DataFrame与KeyError

一、yahoo_fin返回空资产负债表DataFrame的处理

  • 核对股票代码:必须用雅虎财经认可的标准格式,比如美股带正确后缀(BRK.B而非BRK-B)、港股加.HK、A股加.SS/.SZ,代码错误会直接拿不到数据。
  • 强制刷新缓存:yahoo_fin默认会缓存旧数据,调用时加refresh=True参数强制拉取最新数据:
    from yahoo_fin.stock_info import get_balance_sheet
    balance_sheet = get_balance_sheet("AAPL", refresh=True)
    
  • 验证网页数据:先去雅虎财经网页搜索对应股票,确认它有没有公开的资产负债表数据——部分小众股票或未上市公司根本没收录财报,自然返回空表。

二、yfinance报KeyError: 'regularMarketOpen'的解决

这个错误是因为雅虎财经API字段更新,旧版yfinance没跟上兼容,按下面步骤处理:

  • 升级到最新版yfinance:执行命令
    pip install --upgrade yfinance
    
  • 直接调用专属财报方法:别碰容易触发字段校验的stock.info,直接用专门的财报接口拿数据:
    import yfinance as yf
    stock = yf.Ticker("AAPL")
    # 获取年度资产负债表
    annual_balance = stock.balance_sheet
    # 要季报的话用这个
    quarterly_balance = stock.quarterly_balance_sheet
    
  • 应急临时方案:如果升级后还是有问题,用get_balance_sheet()方法,它会跳过部分字段校验:
    balance_sheet = stock.get_balance_sheet(freq="annual")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:12:39