无法用 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 循环之外。
我正在尝试使用 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 循环之外。