You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas_datareader获取BTC-USD数据时遇TypeError错误求助

问题排查与解决方案

错误原因

pandas_datareader的雅虎财经数据源已停止维护,当前调用pdr.get_data_yahoo()返回的是HTML字符串而非预期的DataFrame,后续尝试以DataFrame的方式访问数据时,就会触发「TypeError: string indices must be integers」错误。

解决方法

推荐使用yfinance库替代,它是专门针对雅虎财经API维护的第三方库,兼容性和稳定性更好。

  1. 安装yfinance库:
pip install yfinance
  1. 修改后的代码:
import yfinance as yf

# 获取2020-01-01至2021-01-01的BTC-USD数据
df = yf.download("BTC-USD", start="2020-01-01", end="2021-01-01")
print(df.head())

备选方案(不推荐)

如果坚持使用pandas_datareader,可以尝试安装适配的扩展包,但稳定性无法保证:

pip install pandas-datareader[yahoo]

之后重新运行原代码,但仍可能因雅虎API的变动再次出现问题。

内容的提问来源于stack exchange,提问作者jack gell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:55:21