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.create_sheet(title='新規作成シート')
# シート名一覧を表示(シート新規追加後)
print(f'シート名一覧(シート新規追加後): {workbook.sheetnames}')
# Excelファイルを保存
workbook.save(excel_path)
# ロードしたExcelファイルを閉じる
workbook.close()
【実行結果】
シート名一覧(シート新規追加前): ['購入リスト', 'お店一覧']
シート名一覧(シート新規追加後): ['購入リスト', 'お店一覧', '新規作成シート']
【説明】
- Workbookオブジェクトのcreate_sheet()でシートを追加することができます。
- オプションとしては、create_sheet(title=None, index=None)のように、titleを指定することでシート名、indexを指定することで追加するシートの場所を指定できます。
- titleを指定しないと「Sheet」という名称になります。同名称のシートがあれば、末尾に番号が追記されます。indexを指定しないと、一番最後にシートが追加されます。
- Workbookオブジェクトは「openpyxl.workbook.workbookモジュール」内のWorkbookクラスで定義されています。
- Worksheetオブジェクトは「openpyxl.worksheet.worksheetモジュール」内のWorksheetクラスで定義されています。
関連情報
【openpxxlライブラリのまとめ】
【Pythonライブラリのまとめ】
参考
以上!
コメント