当一个工作表有多个可能的名称时,如何将多个excel工作表读入python

当一个工作表有多个可能的名称时,如何将多个excel工作表读入python,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我有4000多个xlsx文件,每个文件都包含一张表,每次都命名为几乎相同的东西 它始终遵循以下格式:XXX-XXX-001 但是,最后一个数字有时会更改,有时图纸名称的开头或结尾会出现空白。我已经看过了,似乎没有任何适用于pandas read_excel的正则表达式选项。有什么建议吗?我能做些什么“if in()”检查吗 谢谢 如果内存不是问题,可以先读取excel文件中的所有工作表,然后过滤工作表名称 首先阅读excel df_dict = pd.read_excel(filename, s

我有4000多个xlsx文件,每个文件都包含一张表,每次都命名为几乎相同的东西

它始终遵循以下格式:XXX-XXX-001

但是,最后一个数字有时会更改,有时图纸名称的开头或结尾会出现空白。我已经看过了,似乎没有任何适用于pandas read_excel的正则表达式选项。有什么建议吗?我能做些什么“if in()”检查吗


谢谢

如果内存不是问题,可以先读取excel文件中的所有工作表,然后过滤工作表名称

首先阅读excel

df_dict = pd.read_excel(filename, sheetname=None)
然后过滤df名称

dfname = list[df_dict]
wanted_df_name = ['XXX-XXX-001' in ele for ele in dfname][0]
最后从df_dict中获取df

wanted_df = df_dict[wanted_df_name]

我建议您阅读每个excel文件的第一行,其中
sheet\u name
等于
None
,这将返回一个字典,其中sheetname是键,值是数据帧。然后使用正则表达式或字符串匹配在每个数据帧字典中查找表名,然后在工作簿中阅读时将其构建到逻辑中。如果您需要以上帮助,请告诉我。您的文件中只有一张吗?那就先看看吧。