截至2019-09-09更新:
使用
sheet_name了v0.25.1代替
sheetname
如果设置关键字parameter
read_excel,则
pandas可以使用方法一次读取所有工作表
sheetname=None。这将返回一个字典-
键是工作表名称,值是作为数据帧的工作表。
使用这个,我们可以简单地遍历字典并:
- 在包含相关工作表名称的数据框中添加额外的列
- 使用
rename
方法来重命名我们的列-通过使用lambda
,我们只要在有新行时就分割列表的每个列名,就可以获取列表的最后一个条目。如果没有新行,则列名不变。 - 附加到“全表”
完成此操作后,我们将重置索引,并且一切都将恢复正常。注意:如果您在一个工作表上有聚会,但在其他工作表上却没有,则仍然可以使用,但是会用填充每个工作表的所有缺失列
NaN。
import pandas as pdsheets_dict = pd.read_excel('Book1.xlsx', sheetname=None)full_table = pd.Dataframe()for name, sheet in sheets_dict.items(): sheet['sheet'] = name sheet = sheet.rename(columns=lambda x: x.split('n')[-1]) full_table = full_table.append(sheet)full_table.reset_index(inplace=True, drop=True)print full_table印刷品:
area cnt party1 party2 sheet0 bacon 9 5 5 Sheet11 spam 3 7 5 Sheet12 eggs 2 18 4 Sheet2



