Pythonでシートを削除する(openpyxl)

ノウハウ
スポンサーリンク

 

  

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ライブラリのまとめ】

 

 

参考

 

 

 

以上!

コメント

タイトルとURLをコピーしました