如何正确修改openpyxl中合并单元格的值?

如何正确修改openpyxl中合并单元格的值?

python 循环excel 表格内容判断是否为none并修改

使用 openpyxl 库读取和编辑 excel 表格时,我们通常会遍历所有单元格并检查其值是否为 none。然而,对于合并单元格,直接设置其值可能会导致错误。

给定的代码中使用的代码段如下:

if sheet.cell(row=h, column=j).value is none:
    sheet.cell(h, j, n)

当遇到合并单元格时,sheet.cell(row=h, column=j).value 会返回一个 mergedcell 对象,该对象仅包含合并单元格范围内的第一个单元格的值。由于 mergedcell 对象是只读的,因此尝试对其进行修改会引发 attributeerror 错误。

正确的做法是,首先找到合并单元格范围内的左上角单元格,然后将其值替换为 n。例如:

if sheet.cell(row=h, column=j).merged:
    sheet.cell(sheet.cell(row=h, column=j).bounds[0]).value = n

通过这种方式,我们可以修改合并单元格的实际值,避免出现错误。

以上就是如何正确修改openpyxl中合并单元格的值?的详细内容,更多请关注其它相关文章!