合并工作表名称略有不同的多个文件[重复]

Posted

技术标签:

【中文标题】合并工作表名称略有不同的多个文件[重复]【英文标题】:Merge multiple files with slight difference in sheet names [duplicate] 【发布时间】:2021-10-20 22:00:52 【问题描述】:

在 Python 中,我有下面的代码,它读取工作表名称为 'EA' 的所有文件:

df = pd.read_excel(file_, sheet_name='EA')

问题是一些文件有细微的变化,例如一些工作表被命名为EA 1EA X等。

有没有办法编写代码以基本上说 '包括名称中包含 EA 的工作表名称'

【问题讨论】:

这能回答你的问题吗? read-multiple-excel-file-with-different-sheets-names-in-pandas 我应该提到一些工作表不应该包含在数据框中,所以我们不想要所有工作表,只需要那些包含“EA”的工作表 【参考方案1】:
import xlrd
xls = xlrd.open_workbook(r'<path_to_your_excel_file>', on_demand=True)
sheets = xls.sheet_names()

然后,过滤掉您需要的工作表。 on_demand=True 在需要时加载工作表。如果它是一个包含许多工作表的繁重 excel,这将很有用。

filtered_sheets = []
for sheet in sheets:
    if 'EA' in sheet:
        filtered_sheets.append(sheet)

# Now load each sheet in filtered_sheets using pd.read_excel()

【讨论】:

我不确定pd.ExcelFile 是否需要加载。如果是这样,那也可以使用。

以上是关于合并工作表名称略有不同的多个文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

把多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里

如何合并多个工作表并用工作表名称重命名列名?

用vba新建工作表,并命名

使用 bash 脚本将多个 excel 文件合并到一个 excel 工作簿但不同的工作表中

Perl如何将两个或多个excel文件合并为一个(多个工作表)?

把多个工作簿的第一个工作表合并到一个工作簿的多个工作表