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

 

 

参考

 

 

 

以上!

コメント

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