【python】openpyxlの基本的な使い方

この記事は約3分で読めます。

pythonでExcelを操作できる有名なライブラリ「openpyxl」の
基本的な操作方法をまとめました。

openpyxlのインストール

まずはpipでインストール

pip install openpyxl

Excelファイルの読み込みとセルへの入力

※注意点として読み込めるファイルはxlsxファイルのみになります。

openpyxlは3種類の構成になっており
全体: workbook
シート:worksheet
セル: cell
といったクラスに定義されています。

import openpyxl

file_path = "test.xlsx"
workbook = openpyxl.load_workbook(file_path)

このようにファイルを読み込んで

sheet_names = workbook.get_sheetnames()
>>> [sheet1, sheet2, sheet3]

とシート毎の名前が取得できます。シートのセルの値を取得する場合には

sheet1 = workbook.get_sheet_by_name(sheet_names[0])

シート1を定義し各種セルの値を取得します。セルの座標を指定するる方法は2つあり

# pattern A 
sheet1.cell(row=5, column=5).value

# pattern B
sheet1("E5").value

個人的にはfor文などで回すことが多いのでパターンAを主に使っています。
セルに値を代入する場合には

sheet1.cell(row=5, column=5).value = "test"

と簡単にできます。テンプレートを用意しておけば報告書などの資料作成が自動化
出来ますね。

シートのコピーと削除

先ほどと同様にファイルを指定します。

file_path = "test.xlsx"
workbook = openpyxl.load_workbook(file_path)
sheet1 = workbook.get_sheet_by_name(sheet_names[0])

sheet1をコピーもしくは削除する場合には

# sheet copy
worksheet_copy = workbook.copy_worksheet(sheet1)
worksheet_copy.title = "new_sheet"

# sheet remove
workbook.remove_sheet(workbook["sheet1"])

となります。

ワークブックの保存

記入などの処理終わったらブックの保存が必要です。

workbook.save(file_path)

引数に入れる値は開いた際のpathを入れると上書き保存がされ
違うpath名を入れると新しいブックがそこに作成されるため
任意のファイル名を入力してください。

コメント

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