Pandas网络阅读器上的类型错误

rn0zuynd  于 2023-01-24  发布在  其他
关注(0)|答案(1)|浏览(165)

bounty将在5天后过期。回答此问题可获得+50声望奖励。Caio Navarro希望引起更多人对此问题的关注:我只需要一个能解决问题的答案

我试图获得股票日期使用网络datareader库,我收到了一个错误,我从来没有得到之前,甚至认为我没有改变任何东西

import datetime as dt
from datetime import datetime, timedelta, date
import pandas_datareader.data as web

start = date(2010,10,1)
end = datetime.now()

df = web.DataReader("AAPL", 'yahoo', start, end)
print(df)

我收到的完整错误如下

Traceback (most recent call last):
  File "d:\code\newgen\newmain.py", line 60, in <module>
    df = web.DataReader("AAPL", 'yahoo', start, end)
  File "C:\Users\Owner\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pandas\util\_decorators.py", line 211, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\Owner\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pandas_datareader\data.py", line 379, in DataReader
    ).read()
  File "C:\Users\Owner\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pandas_datareader\base.py", line 253, in read
    df = self._read_one_data(self.url, params=self._get_params(self.symbols))
  File "C:\Users\Owner\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\pandas_datareader\yahoo\daily.py", line 153, in _read_one_data
    data = j["context"]["dispatcher"]["stores"]["HistoricalPriceStore"]
TypeError: string indices must be integers
jexiocij

jexiocij1#

对我有效的方法是将webreader软件包降级到0.9.0,然后使用yfinance来劫持它

from pandas_datareader import data as pdr

import yfinance as yf
yf.pdr_override()

# download dataframe
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")

相关问题