使用openpyxl创建工作簿和工作表

3

我正在尝试加载一个现有的Excel文件并在工作簿中创建一个新的工作表,但是我的代码使用openpyxl时无法工作。

rb = load_workbook("C:\Raw_Dump.xlsx")
rb.create_sheet("Sheet2")
sheet1 = rb.worksheets[0]

任何帮助都将不胜感激。

2个回答

7

你需要将工作簿保存为相同的文件名:

rb.save(r"C:\Raw_Dump.xlsx")

完整工作示例:
import openpyxl

ws_name = r"Raw_Dump.xlsx"
rb = openpyxl.load_workbook(ws_name)
rb.create_sheet("Sheet2")
rb.save(ws_name)

1

我花了很长时间搜索,发现最好的方法是进行表格删除。以下代码适用于我:

for sheet in wb.sheetnames:
    if sheet not in "MY_SHEET_I_WANNA_KEEP":
        rm_sheet = wb[sheet];
        wb.remove_sheet(rm_sheet)
wb.save("JustOneSheet.xlsx")

sheet not in "MY_SHEET_I_WANNA_KEEP" 进行了一个子串搜索操作。这可能不是你想要的。比如,它会保留类似 WANNASHEET 的工作表。此外,OP 并没有要求这样做。 - Jean-François Fabre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接