Python如何往合并单元格赋值
时间: 2023-11-05 14:18:14 浏览: 107
在 Python 中,往合并单元格赋值需要先将合并单元格拆分为单个单元格,然后在拆分后的单元格中赋值。以下是一个示例代码:
```python
from openpyxl import Workbook
from openpyxl.utils import range_boundaries
# 创建一个新的 Excel 文件
wb = Workbook()
# 获取工作表
ws = wb.active
# 写入数据
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws.merge_cells('C1:E1')
ws['C1'] = 'Contact Info'
# 拆分合并单元格
min_col, min_row, max_col, max_row = range_boundaries('C1:E1')
for row in ws.iter_rows(min_row=min_row, max_row=max_row, min_col=min_col, max_col=max_col):
for cell in row:
cell.value = 'Contact Info'
# 在拆分后的单元格中赋值
for row in ws.iter_rows(min_row=2, max_row=2, min_col=3, max_col=5):
for cell in row:
cell.value = 'john@example.com'
# 保存 Excel 文件
wb.save('example.xlsx')
```
在这个示例中,我们在 C1 单元格中写入了一个标题,并将 C1 到 E1 的单元格合并成了一个单元格。然后,我们使用 `range_boundaries()` 函数获取合并单元格的边界,并使用 `iter_rows()` 方法遍历拆分后的单元格。接着,我们使用 `iter_rows()` 方法遍历拆分后的单元格中的一行,并在该行的每个单元格中赋值。最后,我们将 Excel 文件保存到本地。
注意,在往合并单元格赋值时,你需要保证拆分后的单元格的数量和合并前的单元格数量相同,否则会导致数据填充不完整。