要实现这个功能,你可以使用`openpyxl`库来操作Excel文件。以下是一个简单的示例:
-
首先,安装`openpyxl`库,如果你还没有安装的话。在命令行中输入以下命令进行安装:
bashpip install openpyxl
-
然后,使用以下代码将多个Excel工作表复制到一个新的汇总表中,并生成目录:
python
import os
from openpyxl import Workbook, load_workbook
def copy_sheets_to_summary(input_files, output_file):
# 创建一个新的工作簿
summary_wb = Workbook()
summary_ws = summary_wb.active
summary_ws.title = "目录"
# 遍历输入文件列表,打开每个文件并将其工作表复制到汇总表中
for index, input_file in enumerate(input_files):
input_wb = load_workbook(input_file)
for sheet_name in input_wb.sheetnames:
input_ws = input_wb[sheet_name]
summary_ws.cell(row=index + 1, column=1, value=os.path.basename(input_file))
summary_ws.cell(row=index + 1, column=2, value=sheet_name)
# 复制工作表内容到新的工作簿
new_ws = summary_wb.create_sheet(sheet_name)
for row in input_ws.iter_rows():
for cell in row:
new_ws.cell(row=cell.row, column=cell.column, value=cell.value)
# 保存汇总表
summary_wb.save(output_file)
# 示例:将两个Excel文件的工作表复制到一个汇总表中
input_files = ["file1.xlsx", "file2.xlsx"]
output_file = "summary.xlsx"
copy_sheets_to_summary(input_files, output_file)
```
这段代码定义了一个名为`copy_sheets_to_summary`的函数,它接受一个输入文件列表和一个输出文件名。对于每个输入文件,它会打开文件并将所有工作表复制到一个新的汇总表中。同时,它还会生成一个目录,列出每个输入文件的名称和它们包含的工作表名称。最后,它会将汇总表保存到指定的输出文件中。
完整源码下载:https://download.csdn.net/download/aszhangwendi/88958792