使用yahoo_fin调用get_balance_sheet()无返回数据,求解决建议
解决yahoo_fin get_balance_sheet()无数据返回的问题
问题重现
使用yahoo_fin可正常获取PE、PS等比率,但调用get_balance_sheet()时无数据返回:
import yahoo_fin.stock_info as si sheet = si.get_balance_sheet("AAPL") # 无数据返回
以下获取PE比率的代码可正常运行:
quote = si.get_quote_table("aapl") quote["PE Ratio (TTM)"] # 返回22.01
解决建议
- 升级yahoo_fin到最新版本:旧版本可能存在数据解析bug,执行命令升级:
pip install --upgrade yahoo-fin - 尝试获取季度资产负债表:默认
get_balance_sheet()获取年度数据,部分股票年度数据可能未更新,切换到季度数据试试:sheet = si.get_balance_sheet("AAPL", quarterly=True) - 验证Yahoo Finance原始数据:手动查看Yahoo Finance的AAPL资产负债表页面,确认是否有公开数据。若页面有数据但代码取不到,说明yahoo_fin的页面解析逻辑可能已失效。
- 替换为yfinance库:如果yahoo_fin的问题无法解决,可改用维护更活跃的yfinance库,示例代码:
import yfinance as yf aapl = yf.Ticker("AAPL") # 获取年度资产负债表 yearly_sheet = aapl.balance_sheet # 获取季度资产负债表 quarterly_sheet = aapl.quarterly_balance_sheet
内容的提问来源于stack exchange,提问作者roudan
相关产品推荐
相关产品推荐

