OpenPyXLを使って、シートの削除を行います。
import openpyxl
# ワークブック新規作成
wb = openpyxl.Workbook()
# シートを追加する(名前も場所も指定しない)
wb.create_sheet() # ①自動で、Sheet1の名前になる
wb.create_sheet() # ②自動で、Sheet2の名前になる
# ③シートの名前を指定して追加する
wb.create_sheet( title="追加シート1" )
# ④シートの名前と場所を指定して追加、index=0は一番左に追加となる
wb.create_sheet( index=0,title="一番左シート" )
# ⑤シートを名前を指定して、一番右から2個目に追加する
wb.create_sheet( index=-1,title="右から2個目シート" )
# ⑥シートを名前を指定して、一番右から3個目に追加する
wb.create_sheet( index=-2,title="右から3個目シート" )
#上記迄は別の記事を参照
############################################################
# シート名を指定して削除
sheet = wb["追加シート1"]
wb.remove(sheet)
# シートのindexを指定して削除、0は一番左のシート
sheet = wb.worksheets[0]
wb.remove(sheet)
# シートのindexを指定して削除、-1は一番右のシート
sheet = wb.worksheets[-1]
wb.remove(sheet)
wb.save("file.xlsx")
# ワークブックを閉じる
wb.close()
シートの追加部分については、別記事を参照ください
この記事では、シートを削除する部分から説明します。
# シート名を指定して削除
sheet = wb["追加シート1"]
wb.remove(sheet)
シートを削除する場合は、remove()関数を使用します。
remove()の中には、シートのオブジェクトを指定して削除します。
sheet = wb[“追加シート1”]で、wbのエクセルファイルの中で、”追加シート”というシート名を指示し、sheetのオブジェクトを取得します。
wb.remove(sheet)として、sheetのオブジェクトを指定し、wbのエクセルファイルのオブジェクトの中からシートを削除します。
# シートのindexを指定して削除、0は一番左のシート
sheet = wb.worksheets[0]
wb.remove(sheet)
# シートのindexを指定して削除、-1は一番右のシート
sheet = wb.worksheets[-1]
wb.remove(sheet)
sheet = wb.worksheets[0]とする事で、シートのindex番号を指示して、sheetのオブジェクトを取得し、wb.remove(sheet)でシートを削除します。indexが0の場合は一番左のシート、indexが-1の点場合は一番右のシートとなります。
以上となります。
OpenPyXLの他の関数の使い方について知りたい場合は下記記事が非常に参考になります。