2016-12-18 2 views
1

Я пытаюсь загрузить файл Excel из следующего URL в dataframe с использованием 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") 

Я получил файл «Energy Indicators.xls», да, но это не является допустимым файлом XLS. Это скорее похоже на html-файл с расширением, измененным на xls.

Затем я попытался загрузить файл непосредственно с помощью read_csv:

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

Но я получил ошибку обратного прослеживания: «pandas.io.common.CParserError: tokenizing Ошибки данные об ошибке C:. Ожидаемые 1 полей в строке 12, увидел 2 ". Если я попытался прочитать его без аргументов skiprows, header и т. Д., Я получил еще одну ошибку: «ValueError: ожидаемые 1 поля в строке 41, видел 3».

Любая идея? BTW, я использую Mac OS Sierra и PyCharm Community Edition 2016.3

+0

, кажется, нужно '' read_excel' - энергии = pd.read_excel (ссылка, SkipRows = 16, заголовок = 0, skipfooter = 38) ' – jezrael

+0

Почти. Я получил новую ошибку: «xlrd.biffh.XLRDError: Неподдерживаемый формат или поврежденный файл: ожидаемая запись в BOF, найденная b '\ n \ n \ n

+0

Хммм, это сложно, потому что нужно автоинфицирование. – jezrael

ответ

2

Для этого конкретного упражнения Курсера, а не в общем случае, вы можете использовать не весь URL-адрес в функции read_excel, а только «Energy Indicators.xls»

energy = pd.read_excel('Energy Indicators.xls',...) 
Смежные вопросы