使用 Pandas 网络数据阅读器从谷歌金融加载 SPY 数据时出错:
import pandas_datareader.data as web dfSPY = web.DataReader('SPY', 'google', start_date, end_date)
文件“/home/user/Projects/pmb/dataaccess.py”,第 63 行,在 import_data dfSPY = web.DataReader('SPY', 'google', start_date, end_date) 文件“/home/user/anaconda3/envs/ quant35/lib/python3.5/site-packages/pandas_datareader-0.5.0-py3.5.egg/pandas_datareader/data.py”,第 137 行,在 DataReader session=session).read() 文件“/home/user /anaconda3/envs/quant35/lib/python3.5/site-packages/pandas_datareader-0.5.0-py3.5.egg/pandas_datareader/base.py”,第 181 行,在 read params=self._get_params(self.symbols )) 文件“/home/user/anaconda3/envs/quant35/lib/python3.5/site-packages/pandas_datareader-0.5.0-py3.5.egg/pandas_datareader/base.py”,第79行,在_read_one_data中= self._read_url_as_StringIO(url, params=params) 文件“/home/user/anaconda3/envs/quant35/lib/python3.5/site-packages/pandas_datareader-0.5.0-py3.5.egg/pandas_datareader/base.py”,第 98 行,在 _read_url_as_StringIO out.write(bytes_to_str(text)) 文件“/home/user/anaconda3/envs/quant35/lib/python3.5/site-包/熊猫/兼容/init .py", line 73, in bytes_to_str return b.decode(encoding or 'utf-8')
UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 34539 中的字节 0xe3:连续字节无效
这是一个悬而未决的问题,您可以在此处查看:https : //github.com/pydata/pandas-datareader/issues/424
这是我根据github的评论解决的方法:
检查 pandas_datareader/google/daily.py 中的 GoogleDailyReader.url() 是否返回“ http://www.google.com/finance/historical ”。如果是这样,请将其更改为“ http://finance.google.com/finance/historical ”。(www -> Finance)昨天我在 PyCharm 中下载 pandas-datareader 时,GoogleDailyReader.url() 的返回值为“ http://www.google.com/finance/historical ”。我不知道为什么。
测试它:
import pandas_datareader as pdr
c = pdr.google.daily.GoogleDailyReader()
c.url
# http://www.google.com/finance/historical'
pdr.__version__
# '0.5.0'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句