首页 > 解决方案 > Python Datareader 无法从晨星提取股票数据

问题描述

我是使用股票数据的 python 初学者。今天早上,我能够很好地从晨星网站提取股票数据,但是当我现在尝试这样做时,我收到如下所示的以​​下错误消息。什么可能导致这个问题,我能做些什么来解决它?谢谢

Exception Traceback (most recent call last)
in ()
63 '''
64
---> 65 df=web.DataReader('MMM','morningstar', start, end)
66 print(df)
67 stockname=df.to_csv('mmm.csv')

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\data.py in DataReader(name, data_source, start, end, retry_count, pause, session, access_key)
389 return MorningstarDailyReader(symbols=name, start=start, end=end,
390 retry_count=retry_count, pause=pause,
--> 391 session=session, interval="d").read()
392 elif data_source == 'robinhood':
393 return RobinhoodHistoricalReader(symbols=name, start=start, end=end,

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\mstar\daily.py in read(self)
217 "type %s" % type(self.symbols))
218
--> 219 df = self._dl_mult_symbols(symbols=symbols)
220 if len(df.index.levels[0]) == 0:
221 raise ValueError("None of the provided symbols were valid")

~\Documents\New folder (2)\lib\site-packages\pandas_datareader\mstar\daily.py in _dl_mult_symbols(self, symbols)
128 else:
129 raise Exception("Request Error!: %s : %s" % (
--> 130 resp.status_code, resp.reason))
131
132 time.sleep(self.pause)

Exception: Request Error!: 404 : Not Found

标签: pythonpandassymbolsdatareaderstock

解决方案


似乎是提供商问题。API 没有记录(我相信它来自这里),因此很难确定进行了哪些更改/是否已删除。

目前,我建议使用其他来源,例如 AlphaVantage、Quandl 或 IEX。最简单的是 IEX,不需要 API 密钥

df = web.DataReader('MMM', 'IEX', start, end)


推荐阅读