|
发表于 2023-4-17 21:57:36
|
显示全部楼层
本楼为最佳答案
你可以稍微修改一下之前的代码,将列名更改为给定的文本列名。以下是相应的修改:
- import openpyxl
- def merge_worksheets(filenames, column_names, output_file):
- # 创建一个新的工作簿
- merged_wb = openpyxl.Workbook()
- merged_ws = merged_wb.active
- # 遍历文件名
- for index, filename in enumerate(filenames, start=1):
- # 读取当前工作簿
- wb = openpyxl.load_workbook(filename)
- ws = wb.active
- # 提取第一列数据
- for row in ws.iter_rows(min_row=1, max_row=ws.max_row, min_col=1, max_col=1):
- for cell in row:
- new_cell = merged_ws.cell(row=cell.row, column=index, value=cell.value)
- # 修改列名
- merged_ws.cell(row=1, column=index, value=column_names[index - 1])
- # 保存新的工作簿
- merged_wb.save(output_file)
- # 输入文件名列表和输出文件名
- input_files = ['一.xlsx', '二.xlsx', '三.xlsx', '四.xlsx', '五.xlsx', '六.xlsx', '七.xlsx', '八.xlsx', '九.xlsx']
- column_names = ['一', '二', '三', '四', '五', '六', '七', '八', '九']
- output_file = '合并后的表格.xlsx'
- # 合并工作表
- merge_worksheets(input_files, column_names, output_file)
复制代码
现在,将文件名列表和列名列表传递给merge_worksheets函数,将输入文件名列表中的工作簿合并为一个新的工作簿,并将列名设置为对应的column_names列表中的文本。
|
|