根据the doc,pandas.read_excel
有一个参数sheet_name
,允许指定要读取的工作表。但是,当我尝试从excel文件中读取第二个工作表时,无论我如何设置参数(sheet_name = 1
,sheet_name = 'Sheet2'
),数据框始终显示第一个工作表,并传递索引列表(sheet_name = [0, 1]
)不会返回数据框的字典,但仍然是第一个工作表。这可能是什么问题?
答案 0 :(得分:12)
看起来您正在使用旧版本的Python。 所以尝试更改代码
df = pd.read_excel(file_with_data, sheetname=sheet_with_data)
它应该正常工作。
答案 1 :(得分:4)
您可以尝试使用pd.ExcelFile
:
xls = pd.ExcelFile('path_to_file.xls')
df1 = pd.read_excel(xls, 'Sheet1')
df2 = pd.read_excel(xls, 'Sheet2')
答案 2 :(得分:0)
这有效:
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
答案 3 :(得分:0)
在终端上尝试,首先键入以下内容,然后重新运行程序: pip install xlrd