yfinance模块功能异常:调用Ticker.info['longName']报KeyError
yfinance模块KeyError: 'longName'问题排查与解决
这个问题大概率和yfinance模块更新或Yahoo Finance的数据源结构变更有关——yfinance本质是基于Yahoo Finance的公开数据接口做封装,而Yahoo经常调整其数据返回的字段结构,模块更新就是为了适配这些变化,但如果你的代码依赖的字段在新结构中被重命名或移除,就会抛出KeyError。
解决方案:
- 更新yfinance到最新版本:执行命令
pip install --upgrade yfinance,新版本通常会同步Yahoo最新的字段映射,修复这类兼容性问题。 - 检查当前可用字段:先打印info字典的所有键,确认目标字段是否存在或被重命名:
比如部分版本中import yfinance as yf print(yf.Ticker("AMD").info.keys())longName可能被改为long_name,根据实际返回调整代码中的键名即可。 - 安全取值避免报错:改用字典的
get方法替代直接键取值,即使字段不存在也不会抛出异常,还能设置默认值:
import yfinance as yf stock_info = yf.Ticker("AMD").info print(stock_info.get('website', '无网站信息')) print(stock_info.get('longName', '无名称信息')) print(stock_info.get('longBusinessSummary', '无业务摘要信息'))
内容的提问来源于stack exchange,提问作者Horasio7
相关产品推荐
相关产品推荐

