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

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

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

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

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

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

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

from openpyxl import load_workbook

wb = load_workbook("data.xlsx")
sheet = wb.active

for 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')

以上就是Python 循环 Excel 表格:如何修改合并单元格的值?的详细内容,更多请关注其它相关文章!