SIM*_*SIM -4 python python-3.x openpyxl
我使用 python 编写了一个脚本,使用库填充某个范围中的一些数字,并通过在新工作簿中openpyxl创建新工作表将其写入 Excel 文件。当我执行脚本时,它会执行所有这些操作以及默认创建的名为的工作表。运行我的脚本后,我可以看到它也从工作簿中删除了该脚本,但留下了错误。我怎样才能做同样的事情而不出现错误?resultsheetnewbookSheetSheet
这是我到目前为止所尝试过的:
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')
Run Code Online (Sandbox Code Playgroud)
再说一遍:上面的脚本按照我的描述执行了所有这些操作,但留下了错误。我的目标是解决这个错误。
脚本抛出的错误:
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)
Run Code Online (Sandbox Code Playgroud)
您正在调用最新版本的库中已弃用的方法,这些方法很快就会被删除,这就是库建议您使用新方法的原因。所以只需替换wb.get_sheet_by_name("sheet")为wb["sheet"]和 wb.remove_sheet(sheet) withwith 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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |