写一份Python脚本,将后缀是xlsx并且文件名以User作为前缀的文件的两个sheet分别合并,一个sheet名为Worklogs另一个为Users,合并的规则是先生成一份新的文件后缀依旧是xlsx, 文件名为All_staff_of_cloud_support_team, 然后两个sheet一个sheet名为Worklogs另一个为Users, Worklogs的第一行和所有要合并的文件的Worklogs的第一行一样, 然后第一行下面的内容按照顺序一个文件一个文件加入, Users的sheet一样
时间: 2024-04-13 16:30:59 浏览: 69
可以使用Python的openpyxl库来处理Excel文件,实现你的需求。以下是一个示例脚本,可以帮助你完成合并操作:
```python
import os
from openpyxl import load_workbook, Workbook
# 获取符合条件的文件列表
files_to_merge = [file for file in os.listdir('.') if file.endswith('.xlsx') and file.startswith('User')]
# 创建新的工作簿
merged_workbook = Workbook()
merged_workbook.remove(merged_workbook.active) # 移除默认的Sheet
# 合并Worklogs sheet
worklogs_sheet = merged_workbook.create_sheet(title='Worklogs')
for file in files_to_merge:
workbook = load_workbook(file)
sheet = workbook['Worklogs']
max_row = sheet.max_row
max_column = sheet.max_column
for row in range(1, max_row+1):
for column in range(1, max_column+1):
cell = sheet.cell(row=row, column=column)
worklogs_sheet.cell(row=row, column=column, value=cell.value)
# 合并Users sheet
users_sheet = merged_workbook.create_sheet(title='Users')
for file in files_to_merge:
workbook = load_workbook(file)
sheet = workbook['Users']
max_row = sheet.max_row
max_column = sheet.max_column
for row in range(1, max_row+1):
for column in range(1, max_column+1):
cell = sheet.cell(row=row, column=column)
users_sheet.cell(row=row, column=column, value=cell.value)
# 保存合并后的文件
merged_filename = 'All_staff_of_cloud_support_team.xlsx'
merged_workbook.save(merged_filename)
print(f'合并完成,保存为 {merged_filename}')
```
请将上述代码保存为`.py`文件,并确保该文件与要合并的Excel文件在同一目录下。运行脚本后,将会在当前目录生成名为`All_staff_of_cloud_support_team.xlsx`的合并后的文件。
注意:在运行脚本之前,请确保已经安装了`openpyxl`库,你可以通过运行`pip install openpyxl`来安装。
阅读全文