www.whyit.work
の続きです。
前回はシートを追加したので、今回はシートの削除処理です。
import openpyxl from openpyxl.styles import Font book = openpyxl.Workbook() sheet = book.active sheet["A1"].value = "Name" sheet['A1'].font = Font(size=14, bold=True, italic=True) sheet["A2"].value = "Takashi" book.create_sheet(title='work', index=1) book.remove_sheet(book.get_sheet_by_name('work')) book.save('test.xlsx')
これを実行すると、期待通り、"work"シートは作成されていないが、以下のような警告が出た。
test.py:13: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
book.remove_sheet(book.get_sheet_by_name('work'))
test.py:13: DeprecationWarning: Call to deprecated function remove_sheet (Use wb.remove(worksheet) or del wb[sheetname]).
book.remove_sheet(book.get_sheet_by_name('work'))
ドキュメントを参照すると、どちらも廃止予定だそうなので、get_sheet_by_name()をwb[sheetname]に、remove_sheet()をremove()に置き換える必要があります。
book.remove_sheet(book.get_sheet_by_name('work'))
book.remove(book['work'])
これで、警告なく期待通りの動作が実行できました。ドキュメントはちゃんと読みましょう。。。