使用pandas_datareader获取SPY股票数据时遇TypeError报错求助
问题排查与解决
错误根源
你的代码里起始日期晚于结束日期:start='2022-12-23'比end='2022-10-24'时间更靠后,导致web.get_data_yahoo()无法获取有效数据,返回的是字符串格式的错误信息而非预期的DataFrame,打印时就会触发TypeError: string indices must be integer。
修复代码
把start和end的日期顺序调换,确保起始日期早于结束日期:
import pandas_datareader.data as web # 修正日期顺序:start早于end spy = web.get_data_yahoo('SPY', start='2022-10-24', end='2022-12-23') print(spy)
额外提示
如果后续仍出现类似问题,可以先检查返回值类型:
print(type(spy))
如果返回<class 'str'>,说明请求参数有问题(比如日期格式错误、代码不存在),需要核对参数合法性。
内容的提问来源于stack exchange,提问作者umklapper
相关产品推荐
相关产品推荐

