openpyxl将相同值的单元格合并
时间: 2023-07-08 08:19:51 浏览: 455
合并相同的单元格
您可以使用 openpyxl 库中的 `worksheet.merge_cells()` 方法将具有相同值的单元格合并。此方法采用四个参数,即起始行、起始列、结束行和结束列,以指定要合并的单元格范围。以下是一个示例代码片段,演示如何将第一列中具有相同值的单元格合并:
```
from openpyxl import Workbook
# 创建一个新的工作表
workbook = Workbook()
worksheet = workbook.active
# 填充一些数据
data = [
['Name', 'Age'],
['Alice', 25],
['Bob', 30],
['Bob', 35],
['Charlie', 40],
['Charlie', 45],
['Charlie', 50]
]
for row in data:
worksheet.append(row)
# 将相同值的单元格合并
current_value = None
start_row = 2
for row in worksheet.iter_rows(min_row=2, min_col=1, max_col=1):
cell = row[0]
if cell.value != current_value:
if start_row != cell.row:
worksheet.merge_cells(start_row=start_row, end_row=cell.row-1, start_column=1, end_column=1)
current_value = cell.value
start_row = cell.row
# 保存工作表
workbook.save('example.xlsx')
```
在此示例中,我们首先填充了一些数据,然后使用 `iter_rows()` 方法遍历第一列中的所有单元格。如果单元格的值与当前值不同,则将前一个值的单元格范围合并。最后,我们保存工作簿以查看结果。
阅读全文