使用get_quote_yahoo获取YahooFinance上CAC40公司市值时遇问题
解决CAC40成分股市值获取失败的问题
核对股票代码格式:Yahoo Finance的CAC40成分股代码必须带
.PA后缀(例如欧莱雅是OR.PA,空客是AIR.PA)。如果你的tickers列表里是无后缀的纯代码,接口会无法匹配数据,导致返回结果缺失。确认返回字段结构:Yahoo Finance接口偶尔会调整返回字段,先打印完整返回结果的列名,确认
marketCap字段是否存在:
quote_data = get_quote_yahoo(tickers) print(quote_data.columns)
如果字段名有变化,用实际存在的字段名替换marketCap。
- 排查无效代码:部分股票可能已调出CAC40,导致代码失效。可以先测试几个已知有效的代码,验证接口是否正常:
test_tickers = ['OR.PA', 'AIR.PA', 'BNP.PA'] print(get_quote_yahoo(test_tickers)['marketCap'])
如果测试正常,说明你的tickers列表存在无效代码,需要替换为最新的CAC40成分股代码。
- 完整可运行示例:
from pandas_datareader import data as pdr # 最新CAC40成分股代码列表(示例,建议核对最新成分) cac40_tickers = [ 'AC.PA', 'AI.PA', 'AIR.PA', 'ATO.PA', 'BNP.PA', 'EN.PA', 'CAP.PA', 'CA.PA', 'ACA.PA', 'BN.PA', 'ENGI.PA', 'EI.PA', 'RNO.PA', 'KER.PA', 'OR.PA', 'LHN.PA', 'MC.PA', 'ML.PA', 'ORA.PA', 'UG.PA', 'PUB.PA', 'RMS.PA', 'SAN.PA', 'SU.PA', 'GLE.PA', 'SW.PA', 'STM.PA', 'FTI.PA', 'FP.PA', 'FR.PA', 'VIE.PA', 'DG.PA', 'VIV.PA', 'LR.PA', 'MCF.PA', 'SLB.PA', 'SOLB.PA', 'SGO.PA', 'THY.PA', 'URW.PA' ] # 获取并打印市值数据 market_cap = pdr.get_quote_yahoo(cac40_tickers)['marketCap'] print(market_cap)
内容的提问来源于stack exchange,提问作者Rodriguezmahigmailcom Rodrigue
相关产品推荐
相关产品推荐

