【问题标题】:'Error using pandas-datareader: No data fetched using 'YahooDailyReader''使用 pandas-datareader 时出错:没有使用 'YahooDailyReader' 获取数据
【发布时间】:2021-12-11 11:42:19
【问题描述】:

我看到有人问过类似的问题,但没有回答。希望有人能指出我正确的方向。

symbols = ['MSFT','AMZN','AAPL','GOOG','FB']
start_date = datetime.datetime(2019,1,1)
end_date = datetime.datetime(2019,7,1)
stock_data = web.get_data_yahoo(symbols,start_date,end_date)
print(stock_data.head())

我收到一个错误:

---------------------------------------------------------------------------
RemoteDataError                           Traceback (most recent call last)
<ipython-input-18-b17e3a4d0dcf> in <module>
      2 start_date = datetime.datetime(2019,1,1)
      3 end_date = datetime.datetime(2019,7,1)
----> 4 stock_data = web.get_data_yahoo(symbols,start_date,end_date)
      5 print(stock_data.head())

~/anaconda3/envs/stocks/lib/python3.8/site-packages/pandas_datareader/data.py in get_data_yahoo(*args, **kwargs)
     84 
     85 def get_data_yahoo(*args, **kwargs):
---> 86     return YahooDailyReader(*args, **kwargs).read()
     87 
     88 

~/anaconda3/envs/stocks/lib/python3.8/site-packages/pandas_datareader/base.py in read(self)
    256             df = self._dl_mult_symbols(self.symbols.index)
    257         else:
--> 258             df = self._dl_mult_symbols(self.symbols)
    259         return df
    260 

~/anaconda3/envs/stocks/lib/python3.8/site-packages/pandas_datareader/base.py in _dl_mult_symbols(self, symbols)
    275         if len(passed) == 0:
    276             msg = "No data fetched using {0!r}"
--> 277             raise RemoteDataError(msg.format(self.__class__.__name__))
    278         try:
    279             if len(stocks) > 0 and len(failed) > 0 and len(passed) > 0:

RemoteDataError: No data fetched using 'YahooDailyReader'

希望有人可以提供帮助。谢谢

【问题讨论】:

    标签: pandas-datareader


    【解决方案1】:

    我在一个github页面找到了解决方案:https://github.com/pydata/pandas-datareader/issues/868

    解决办法是:

    import pandas
    from pandas_datareader import data as pdr
    import yfinance as yfin
    yfin.pdr_override()
    
    df = pdr.get_data_yahoo("TSLA", start="yyyy-mm-dd", end="yyyy-mm-dd")
    print(df)
    

    【讨论】:

      猜你喜欢
      • 2020-05-06
      • 2016-11-03
      • 2018-09-14
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 2023-01-31
      相关资源
      最近更新 更多