Python 无法使用pandas web数据读取器从google finance获取数据:UnicodeDecodeError
使用Pandas web datareader从google finance加载SPY数据时出错:Python 无法使用pandas web数据读取器从google finance获取数据:UnicodeDecodeError,python,pandas-datareader,Python,Pandas Datareader,使用Pandas web datareader从google finance加载SPY数据时出错: 将pandas\u datareader.data作为web导入 dfSPY=web.DataReader('SPY','google',开始日期,结束日期) 文件“/home/user/Projects/pmb/dataaccess.py”,第63行,在导入数据中 dfSPY=web.DataReader('SPY','google',开始日期,结束日期)文件 “/home/user/anaco
将pandas\u datareader.data作为web导入
dfSPY=web.DataReader('SPY','google',开始日期,结束日期)
文件“/home/user/Projects/pmb/dataaccess.py”,第63行,在导入数据中
dfSPY=web.DataReader('SPY','google',开始日期,结束日期)文件
“/home/user/anaconda3/envs/quant35/lib/python3.5/site packages/pandas\u datareader-0.5.0-py3.5.egg/pandas\u datareader/data.py”,
第137行,在DataReader中
session=session.read()文件“/home/user/anaconda3/envs/quant35/lib/python3.5/site packages/pandas\u datareader-0.5.0-py3.5.egg/pandas\u 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行,输入读取数据
out=self._读取_url_作为_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行,in_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行,以字节为单位
返回b.decode(编码或“utf-8”)
UnicodeDecodeError:“utf-8”编解码器无法解码位置中的字节0xe3
34539:无效
连续字节
这是一个开放的问题,您可以在这里看到: 根据github的评论,我就是这样解决的: 检查pandas\u datareader/google/daily.py中的GoogleDailyReader.url()是否返回“”。 如果是,请将其更改为“”。 (www->finance) 昨天我在PyCharm中下载pandas datareader时,GoogleDailyReader.url()的返回值是“”。我不知道为什么 用以下方法进行测试:
import pandas_datareader as pdr
c = pdr.google.daily.GoogleDailyReader()
c.url
# http://www.google.com/finance/historical'
pdr.__version__
# '0.5.0'
请注意,“将其更改为”意味着在dist packages
文件夹(在/usr/local/lib/python3.4/
或类似文件夹中)中打开pandas\u datareader/google/daily.py
,可能以root用户身份打开,并修改源代码。