首页  >  文章  >  后端开发  >  使用 Pandas Datareader 访问雅虎财经数据时如何解决“TypeError:字符串索引必须是整数”错误?

使用 Pandas Datareader 访问雅虎财经数据时如何解决“TypeError:字符串索引必须是整数”错误?

Linda Hamilton
Linda Hamilton原创
2024-10-21 15:38:29762浏览

How to Resolve the

使用 Pandas Datareader 访问雅虎财经数据时出现 TypeError

使用 Pandas Datareader 从 Yahoo Finance 检索股票数据时,用户可能会遇到“TypeError” :字符串索引必须是整数”错误。当“symbols”参数需要字符串列表但遇到字符串时,可能会出现此问题。

要解决此错误,请确保“symbols”参数是股票标识符列表。以下是工作代码的示例:

<code class="python">import pandas_datareader

end = "2022-12-15"
start = "2022-12-15"
stock_list = ["TATAELXSI.NS"]

data = pandas_datareader.get_data_yahoo(symbols=stock_list, start=start, end=end)

print(data)</code>

此外,名为 raphi6 的 GitHub 用户提供了一个拉取请求,其中修复了此问题。要安装此修复程序,请按照以下步骤操作:

  1. 安装以下依赖项:

    conda install pycryptodome pycryptodomex
  2. 卸载当前版本的 Pandas Datareader:

    conda uninstall pandas-datareader
  3. 安装 Pandas Datareader 的拉取请求版本:

    pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316

或者,名为 Nikhil Mulley 的用户建议了一种解决方法,涉及pdr_override() 函数。该函数的使用方式如下:

<code class="python">import pandas_datareader as pdr
import pandas as pd

end = "2022-12-15"
start = "2022-12-15"
stock_list = ["TATAELXSI.NS"]

stock_symbol = stock_list[0]
stock_obj = pdr.DataReader(stock_symbol, 'yahoo', start, end)
stock_data = pd.DataFrame({stock_symbol: stock_obj['Close']})
</code>

以上是使用 Pandas Datareader 访问雅虎财经数据时如何解决“TypeError:字符串索引必须是整数”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn