无法踢出 excel 工作簿中默认创建的工作表

Unable to kick out a worksheet created by default in an excel workbook

我在 python 中使用 openpyxl 库编写了一个脚本来填充范围内的一些数字,并通过创建一个新的 sheet 将其写入 excel 文件resultsheet 在新工作簿中 newbook。当我执行脚本时,它会执行所有这些操作以及默认创建的名为 Sheet 的工作 sheet。在 运行 我的脚本上,我可以看到它也从工作簿中踢出了 Sheet 但留下了错误。我怎样才能在不出错的情况下做同样的事情?

这是我目前尝试过的方法:

from openpyxl import Workbook

wb = Workbook()
ws = wb.create_sheet(title="resultsheet")

for row in range(5,10):
    ws["A" + str(row)].value = row

sheet = wb.get_sheet_by_name('Sheet')
wb.remove_sheet(sheet)
wb.save('newbook.xlsx')

再一次:上面的脚本按照我的描述做了所有这些但是留下了错误。我的目标是解决该错误。

脚本抛出的错误:

C:\Users\WCS\AppData\Local\Programs\Python\Python36-32\SO.py:9: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
  sheet = wb.get_sheet_by_name('Sheet')
C:\Users\Programs\Python\Python36-32\SO.py:10: DeprecationWarning: Call to deprecated function remove_sheet (Use wb.remove(worksheet) or del wb[sheetname]).
  wb.remove_sheet(sheet)

您调用的方法在最新版本的库中已弃用,这些方法将很快被删除,这就是库建议您改用新方法的原因。所以只需将 wb.get_sheet_by_name("sheet") 替换为 wb["sheet"] 并将 wb.remove_sheet(sheet) 替换为 with wb.remove(sheet) 即可完成

from openpyxl import Workbook

wb = Workbook()
ws = wb.create_sheet(title="resultsheet")

for row in range(5,10):
    ws["A" + str(row)].value = row

sheet = wb['Sheet']
wb.remove(sheet)
wb.save('newbook.xlsx')