python - 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
解决方案
似乎是提供商问题。API 没有记录(我相信它来自这里),因此很难确定进行了哪些更改/是否已删除。
目前,我建议使用其他来源,例如 AlphaVantage、Quandl 或 IEX。最简单的是 IEX,不需要 API 密钥
df = web.DataReader('MMM', 'IEX', start, end)
推荐阅读
- elasticsearch - Elasticsearch 聚合按 _key 排序
- javascript - 在 GatsbyJS 项目中加载资产非常缓慢(Netlify 托管)
- r - Draw geom_vline in discrete x axis
- javascript - 如何将 Angular 5 应用程序集成到 Javascript/JQuery 应用程序中?
- spring-boot - 如何在@SpringBootTest 期间跳过 JdbcAppender?
- powershell - 没有功能的 PowerShell 输出
- python-3.x - 如何通过寻路游戏避免即时“游戏结束”?
- java - 如何将鼠标侦听器添加到多个 JLabel []
- vba - 将输入值从输入框传递到另一个私有子代码?
- android - 将标高设置为选项卡布局的顶部