合并Excel报表通常可以通过以下几种方法实现:
1. 使用`pandas`库:
import pandas as pd指定包含Excel文件的文件夹路径folder_path = 'C:\\Users\\Admin\\Desktop\\数据核对'获取文件夹中的所有Excel文件excel_files = [file for file in os.listdir(folder_path) if file.endswith((' .xls', ' .xlsx '))]创建一个空的DataFrame来存储合并后的数据merged_data = pd.DataFrame()遍历所有Excel文件for file in excel_files:file_path = os.path.join(folder_path, file)读取Excel文件,获取所有工作表xls = pd.ExcelFile(file_path)遍历每个工作表并合并它们for sheet_name in xls.sheet_names:df = pd.read_excel(file_path, sheet_name=sheet_name)添加一个新的列,用于标识数据来自哪个Excel文件的哪个工作表df['SourceFile'] = filedf['SheetName'] = sheet_name将当前工作表的数据添加到合并后的DataFrame中merged_data = pd.concat([merged_data, df], ignore_index=True)将合并后的数据保存到新的Excel文件中merged_data.to_excel('merged_report.xlsx', index=False)
2. 使用`XlsxWriter`库:
import xlsxwriterimport pandas as pd指定包含Excel文件的文件夹路径folder_path = 'C:\\Users\\Admin\\Desktop\\数据核对'获取文件夹中的所有Excel文件excel_files = [file for file in os.listdir(folder_path) if file.endswith((' .xls', ' .xlsx '))]创建一个新的Excel文件workbook = xlsxwriter.Workbook('merged_report.xlsx')worksheet = workbook.add_worksheet()遍历所有Excel文件for file in excel_files:file_path = os.path.join(folder_path, file)读取Excel文件,获取所有工作表xls = pd.ExcelFile(file_path)遍历每个工作表并合并它们for sheet_name in xls.sheet_names:df = pd.read_excel(file_path, sheet_name=sheet_name)将当前工作表的数据写入新的Excel文件for r_idx, row in df.iterrows():for c_idx, value in enumerate(row):worksheet.write(r_idx, c_idx, value)关闭工作簿workbook.close()
3. 使用`Spire.XLS`库:
from spire.xls import *创建一个列表,并将需要合并的Excel文件放入其中files = ['F:\\成绩表.xlsx', '分析.xlsx', 'C:\\Users\\Administrator\\Desktop\\总结.xlsx']创建一个新工作簿newbook = Workbook()删除其中的默认工作表newbook.Worksheets.Clear()创建一个临时工作簿tempbook = Workbook()遍历列表中的文件路径for file in files:将列表中的文件加载到临时工作簿中tempbook.LoadFromFile(file)遍历临时工作簿中的所有工作表for sheet in tempbook.Worksheets:将工作表添加到新的Excel文件中newbook.Worksheets.AddCopy(sheet)保存合并后的Excel文件newbook.SaveToFile('merged_report.xlsx')
请根据您的具体需求选择合适的方法,并确保已安装相应的Python库。

