使用Pandas从URL文件下载/加载xls

时间:2016-12-18 20:21:10

标签: python-3.x pandas

我正在尝试使用Python 3.5和Pandas将以下URL中的Excel文件加载到数据框中:

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

首先,我尝试使用urllib.request手动下载文件,以便在以后阅读:

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

我得到了文件" Energy Indicators.xls",是的,但它不是有效的xls文件。它似乎更像是一个html文件,扩展名更改为xls。

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

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

但是我收到了一个追溯错误:" pandas.io.common.CParserError:错误标记数据。 C错误:第12行预期有1个字段,见2"。如果我试图在没有参数skiprows,header等的情况下读取它。我得到了另一个错误:" ValueError:第41行中的预期1个字段,看到3"。

有什么想法吗?顺便说一句,我使用的是Mac OS Sierra和PyCharm Community Edition 2016.3

1 个答案:

答案 0 :(得分:2)

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

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