PHP前端开发

Python 循环 Excel 表格:如何修改合并单元格的值?

百变鹏仔 5天前 #Python
文章标签 单元格

python 循环 excel 表格内容时无法修改合并单元格

在上述 python 代码中,当循环处理包含合并单元格的 excel 表格时,代码会抛出 attributeerror: 'mergedcell' object attribute 'value' is read-only 错误。这是因为合并的单元格是只读的,无法直接通过 value 属性对它们进行修改。

为了成功修改合并单元格中的值,需要使用以下步骤:

  1. 查找合并单元格:使用 worksheet.merged_cells 属性获取合并单元格的范围。
  2. 选择一个单元格进行修改:在合并单元格范围内选择一个未合并的单元格,并对该单元格的值进行修改。
  3. 合并单元格:使用 worksheet.merge_cells 方法合并要修改的单元格与其周围的单元格。

下面是修改后的代码示例:

立即学习“Python免费学习笔记(深入)”;

from openpyxl import load_workbookwb = load_workbook("data.xlsx")sheet = wb.activefor merged_cell in sheet.merged_cells:    # 查找合并单元格左上角的单元格    start_cell = merged_cell.min_row, merged_cell.min_col        # 修改左上角单元格的值    sheet.cell(*start_cell).value = n        # 合并单元格    sheet.merge_cells(merged_cell)    wb.save('data1.xlsx')