无法踢出 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')
我在 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')