簡體   English   中英

無法使用 openpyxl 覆蓋現有的 excel 工作表

[英]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)

Output

Closed
Invite
Closed
Pending

它確實打印了我想要的 output 但它不會重寫 excel 文件。 文件保持不變。 進行所有更正后如何保存文件?

您的代碼缺少將 output 寫入 Excel 文件中的單元格的部分:

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

此外,我會將 wb.save 放在 for 循環之外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM