无法用 openpyxl 覆盖现有 excel sheet

Unable to overwrite existing excel sheet with openpyxl

我正在尝试使用 if else 条件格式化 excel 工作表,但无法重写文件。代码写在下面。

from openpyxl import load_workbook

sheet_name = "C:\python\book.xlsx"
wb = load_workbook(sheet_name)
sheet = wb['Data1']

for row in range(1, sheet.max_row+1):
    print(row)
    value1 = sheet.cell(row, 1).value
    if "st1" in value1:
        value1 = "Invite"
    elif "st2" in value1:
        value1 = "Closed"  
    elif "st3" in value1:
        value1 = "Pending"  
    print(value1)
    wb.save(sheet_name)

输出

Closed
Invite
Closed
Pending

它确实打印了我想要的输出,但它没有重写 excel 文件。文件保持不变。全部改正后如何保存文件?

您的代码缺少将输出写入 Excel 文件中的单元格的部分:

sheet.cell(row, 1).value = value1

此外,我会将 wb.save 放在 for 循环之外。