2016-12-18 70 views
1

我想从以下网址Excel文件加载到使用Python 3.5和熊猫一个数据帧/负载XLS:使用熊猫下载的URL文件

link = "https://hub.coursera-notebooks.org/user/ejquqxfjajkufidbixxvkx/notebooks/Energy%20Indicators.xls" 

首先我试图手动下载的文件使用urllib.request里为了看它的权利后:

import urllib.request 
urllib.request.urlretrieve (link, "Energy Indicators.xls") 

我得到的文件“能源Indicators.xls”,是的,但它不是一个有效的xls文件。它看起来更像是一个扩展名改为xls的html文件。

然后我试图加载文件直接使用read_csv:

energy = pd.read_csv(link, skiprows = 16, header = 0, skipfooter = 38) 

但我得到的跟踪信息错误:“pandas.io.common.CParserError:错误标记化数据C的误差:在线路的预期1个字段12,看到2“。如果我试图读取它没有参数skiprows,标题等,我得到了另一个错误:“ValueError:预计在41行中的1个字段,看到3”。

有什么想法?顺便说一句,我使用Mac OS Sierra和PyCharm社区版2016.3

+0

似乎需要'read_excel' - 'energy = pd.read_excel(link,skiprows = 16,header = 0,skipfooter = 38)' – jezrael

+0

差不多。我得到一个新的错误:“xlrd.biffh.XLRDError:不支持的格式或损坏的文件:期望的BOF记录;发现b'\ n \ n \ n <!DOC'” –

+0

嗯,看起来很复杂,因为需要auatetification。 – jezrael

回答

2

对于这个特定的Coursera练习,而不是一般情况下,您可以使用read_excel函数中的整个URL,但只能使用'Energy Indicators.xls'

energy = pd.read_excel('Energy Indicators.xls',...)