Excelを扱うことができるPythonライブラリであるopenpyxlでExcelファイルのワークシートを削除する方法を備忘録として残しておきます。
目次
サンプルのExcelファイル
使い方をまとめる上で、以下の「sample.xlsx」という名称のExcelファイルをCドライブ直下に格納したことを想定します。
また、「sample.xlsx」には「購入リスト」と「お店一覧」という名称のシートが2つあることを想定します。
シートを削除する
【サンプルコード】
##### 【シートを削除する】 #####
import openpyxl
# Excelファイルのロード
excel_path='C:/sample.xlsm'
workbook = openpyxl.load_workbook(filename=excel_path)
# シート名一覧を表示(シート削除前)
print(f'シート名一覧(削除前): {workbook.sheetnames}')
# '購入リスト'という名称のシートを削除
worksheet = workbook.remove(workbook['購入リスト'])
# シート名一覧を表示(シート削除後)
print(f'シート名一覧(削除後): {workbook.sheetnames}')
# Excelファイルを保存
workbook.save(excel_path)
# ロードしたExcelファイルを閉じる
workbook.close()
【実行結果】
シート名一覧(削除前): ['購入リスト', 'お店一覧']
シート名一覧(削除後): ['お店一覧']
【説明】
- Workbookオブジェクトのremove()でシートを削除することができます。
remove(worksheet)のように削除対象のWorksheetオブジェクトを指定する必要があります。 - Worksheetオブジェクトは、workbook['シート名']か Workbook .get_sheet_by_name('シート名')で取得することができます。
- 存在しないシートを指定した場合は、「KeyError: 'Worksheet XXXX does not exist.'」というKeyErrorがでるので注意です。
- Workbookオブジェクトは「openpyxl.workbook.workbookモジュール」内のWorkbookクラスで定義されています。
- Worksheetオブジェクトは「openpyxl.worksheet.worksheetモジュール」内のWorksheetクラスで定義されています。
関連情報
【openpxxlライブラリのまとめ】
【Pythonライブラリのまとめ】
参考
以上!
コメント