如何从Pandas的ExcelFile对象中提取指定工作表名列表
捕获目标Excel工作表名称的方法
方法1:精确匹配已知目标表名
如果已明确需要的工作表名称,可直接定义目标列表,再从sheet_names中筛选出实际存在的项(避免文件中缺失某张表的情况):
import pandas as pd # 读取Excel文件 xls = pd.ExcelFile('reportsOut/SMART-TECH-321 GLOBAL CBO POSTSet Mapping 1.0 - MJK.xlsx') # 定义目标工作表名称列表 target_sheets = ['AWC - POSTSETs', 'EMR - POSTSETs', 'GA - POSTSETs', 'RSTL - POSTSETs', 'SET - POSTSETs'] # 筛选出存在于sheet_names中的目标表 filtered_sheets = [sheet for sheet in xls.sheet_names if sheet in target_sheets]
方法2:通过后缀规则动态筛选
由于目标工作表均以- POSTSETs结尾,可直接根据后缀匹配筛选,无需硬编码所有表名,适配性更强:
import pandas as pd xls = pd.ExcelFile('reportsOut/SMART-TECH-321 GLOBAL CBO POSTSet Mapping 1.0 - MJK.xlsx') # 筛选所有以"- POSTSETs"结尾的工作表 filtered_sheets = [sheet for sheet in xls.sheet_names if sheet.endswith('- POSTSETs')]
后续批量处理示例
拿到筛选后的工作表列表后,可循环遍历转为DataFrame并执行统一操作:
for sheet_name in filtered_sheets: df = xls.parse(sheet_name) # 在此处添加你的业务操作,比如数据清洗、统计分析等 print(f"正在处理工作表:{sheet_name}") # 示例:打印数据前5行 print(df.head())
内容的提问来源于stack exchange,提问作者VC Healy
相关产品推荐
相关产品推荐

