微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何修复 Pandas DataReader 错误

如何解决我如何修复 Pandas DataReader 错误

我正在尝试学习如何制作 Python 金融应用程序。我尝试编写一个应用程序来显示有关股票的数据,但出现错误。 这是我的代码

import datetime as dt
import matplotlib.pyplot as plt
from matplotlib import style
import pandas as pd
import pandas_datareader.data as web
style.use('ggplot')
start = dt.datetime(2000,1,1)
end = dt.datetime(2021,1)
df = web.DataReader('TSLA','yahoo',start,end)
print(df.head())

这些是我得到的错误

File "D:/StocksBot/main.py",line 9,in <module>
    df = web.DataReader('TSLA',end)
  File "D:\StocksBot\venv\lib\site-packages\pandas\util\_decorators.py",line 207,in wrapper
    return func(*args,**kwargs)
  File "D:\StocksBot\venv\lib\site-packages\pandas_datareader\data.py",line 376,in DataReader
    return YahooDailyReader(
  File "D:\StocksBot\venv\lib\site-packages\pandas_datareader\base.py",line 253,in read
    df = self._read_one_data(self.url,params=self._get_params(self.symbols))
  File "D:\StocksBot\venv\lib\site-packages\pandas_datareader\yahoo\daily.py",line 153,in _read_one_data
    resp = self._get_response(url,params=params)
  File "D:\StocksBot\venv\lib\site-packages\pandas_datareader\base.py",line 181,in _get_response
    raise RemoteDataError(msg)
pandas_datareader._utils.RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/TSLA/history?period1=946692000&period2=1609552799&interval=1d&frequency=1d&filter=history

解决方法

我在运行您的代码时收到相同的错误消息,我检查了 curl 是否可以获取该页面,因此 Yahoo 服务没问题。

我有这个对我有用的替代代码:

import pandas as pd
import datetime as dt
import pandas_datareader.data as web
import yfinance as yf

yf.pdr_override()

start = dt.datetime(2020,1,1)
end = dt.datetime(2021,1)
df = web.get_data_yahoo('TSLA',start,end)
print(df.head())

输出如下:

[*********************100%***********************]  1 of 1 completed
                 Open       High        Low      Close  Adj Close    Volume
Date                                                                       
2019-12-31  81.000000  84.258003  80.416000  83.666000  83.666000  51428500
2020-01-02  84.900002  86.139999  84.342003  86.052002  86.052002  47660500
2020-01-03  88.099998  90.800003  87.384003  88.601997  88.601997  88892500
2020-01-06  88.094002  90.311996  88.000000  90.307999  90.307999  50665000
2020-01-07  92.279999  94.325996  90.671997  93.811996  93.811996  89410500
,

在这个库的 github 页面上,有一个问题是 2 天前打开的,很多人说 data_source=yahoo 自 7 月 1 日以来已被破坏。

https://github.com/pydata/pandas-datareader/issues/868

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。