使用Pandas web datareader从Google财务加载SPY数据时出错:
import pandas_datareader.data as web
dfSPY = web.DataReader('SPY', 'google', start_date, end_date)
在import_data中输入文件“/home/user/Projects/pmb/dataaccess.py”,第63行 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行,正在阅读中 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中 out = 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-packages/pandas/compat/init.py”, 第73行,以bytes_to_str为单位 return b.decode(encoding或'utf-8')
UnicodeDecodeError:'utf-8'编解码器无法将字节0xe3解码到位 34539:无效 继续字节
答案 0 :(得分:1)
这是一个未解决的问题,您可以在此处查看: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'