панды.чтение параметра excel "имя листа" не работает

по данным док, pandas.read_excel параметр sheet_name это позволяет указать, какой лист читается. Но когда я пытаюсь прочитать второй лист из файла excel, независимо от того, как я установил параметр (sheet_name = 1, sheet_name = 'Sheet2'), таблицы данных всегда показывает первый лист, и передает список индексов (sheet_name = [0, 1]) не возвращает словарь фреймов данных, но все же первый лист. В чем может быть проблема?

3 ответов


похоже, вы используете старую версию Python. Поэтому попробуйте изменить свой код

df = pd.read_excel(file_with_data, sheetname=sheet_with_data)

Он должен работать правильно.


вы можете попробовать использовать pd.ExcelFile:

xls = pd.ExcelFile('path_to_file.xls')
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')

это работает:

df = pd.read_excel(open(file_path_name), 'rb'), sheetname = sheet_name)

file_path_name = your file
sheet_name = your sheet name

это не для меня:

df = pd.read_excel(open(file_path_name), 'rb'), sheet_name = sheet_name)

дал мне только первый лист, независимо от того, как я определил sheet_name.

--> это известная ошибка: https://github.com/pandas-dev/pandas/issues/17107