从工作簿中删除工作表-python

时间:2019-10-28 04:36:36

标签: python-3.x openpyxl

我想从Excel文件中删除工作表,并且正在尝试以下代码:


import openpyxl

workbook1 = openpyxl.load_workbook(input_file_folder + input_file_name)
print(workbook1.sheetnames)
Sheet1 = workbook1['Sheet1']
workbook1.remove(Sheet1)
workbook1.save(input_file_folder + input_file_name)
writer.save()

打印的工作表名称为: [“ Sheet1”,“候选广告系列0”,“候选广告系列6”,“候选广告系列7”,“候选广告系列8”,“有效广告系列”]

但是无论如何,“ Sheet1”并没有被删除。

我什至尝试:


n = workbook1.sheetnames
workbook1.remove(n[1])

但是这也不起作用。

任何人都可以指出我在做什么错。由于此命令正在与其他工作表一起使用,但不会删除onlt Sheet1(默认工作表)。

谢谢

2 个答案:

答案 0 :(得分:2)

使用 workbook1.save() 而不是 writer.save() 保存文件。

from openpyxl import load_workbook

wb = load_workbook(file_workbook)
if 'Sheet1' in wb.sheetnames:
    wb.remove(wb['Sheet1'])
wb.save(file_workbook)

答案 1 :(得分:0)


del workbook1['Sheet1']

@Charlie Clark的建议