如何修复yfinance中'Tickers'对象无'replace'属性的AttributeError错误
错误原因及修复方案
问题根源
你最后一行调用yf.download()时犯了参数类型错误:yf.download()的tickers参数需要接收单个股票代码字符串,或者股票代码字符串列表,但你传进去的是yf.Tickers实例对象,这个对象本身没有replace方法,所以触发了AttributeError。
两种修复方式
方式一(推荐):直接传入代码列表
删掉多余的yf.Tickers实例化步骤,直接把symbols_list传给yf.download():
# 移除这行无效代码:tickers2 = yf.Tickers(symbols_list) df = yf.download(tickers=symbols_list, start=start_date, end=end_date)
方式二:通过Tickers对象提取代码列表
如果一定要保留yf.Tickers对象,可以调用它的tickers属性获取代码列表再传入:
tickers2 = yf.Tickers(symbols_list) df = yf.download(tickers=tickers2.tickers, start=start_date, end=end_date)
额外说明
yf.Tickers主要用于批量获取单只股票的深度信息(比如财务报表、公司概况),而yf.download()本身就原生支持多股票代码批量下载行情数据,所以第一种方式更简洁高效。
内容的提问来源于stack exchange,提问作者Early Bird
相关产品推荐
相关产品推荐

