「Python3」OpenPyXL(Excelファイルの読み込みと書き込み)

openpyxl OpenPyXL

OpenPyXLは、Excel(xlsx / xlsm / xltx / xltm)ファイルを読み書きするためのPythonライブラリです。
Python標準ライブラリではないためインストールする必要があります。

pip install OpenPyXL

Excelファイルの読み込み

<読み込むファイル>

OpenPyXL ファイルの読み込みと書き込み説明 011

<ソースコード>
import openpyxl

# ファイルを読み込む
wb = openpyxl.load_workbook('read.xlsx')

# ワークシート名一覧を取得
print(wb.sheetnames)
# ワークシートを読み込む
ws = wb["Sheet1"]

# "A1"の値を表示
print(ws["A1"].value)
# "A2"の値を表示
print(ws["A2"].value)

# ワークブックを閉じる
wb.close()
<出力結果>
['Sheet1', 'Sheet2']
111
aaa

openpyxl.load_workbook関数を使用することで、指定したExcelファイルを読み込むことができます。
セルの値を取得するには、Excelファイルを読み込んだ後、ワークシートを指定する必要があります。

Excelファイルの書き込み

<ソースコード>
from openpyxl import Workbook

# ワークブックを作成
wb = Workbook()

# アクティブシートを取得
ws = wb.active

# "A3"に書き込む
ws['A3'].value = 5

# Excel関数の使用
ws["A1"] = "=SUM(1, 1)"

# Excelファイルを保存
wb.save("write.xlsx")

# ワークブックを閉じる
wb.close()
<出力結果>

OpenPyXL ファイルの読み込みと書き込み説明 02

Excelファイルに書き込むためには、openpyxl.Workbook関数を使用してワークブックを作成し、作成したワークブックのアクティブシートを取得します。
Excelファイルの保存には、saveメソッドを使用します。

ワークシートの作成(追加と表示)

<ソースコード>
from openpyxl import Workbook

# ワークブックを作成
wb = Workbook()

# アクティブシートを取得
ws = wb.active

#末尾にワークシート"sheet_a"を挿入
ws1 = wb.create_sheet("sheet_a")
#先頭にワークシート"sheet_b"を挿入
ws2 = wb.create_sheet("sheet_b", 0)
#先頭から2番目にワークシート"sheet_c"を挿入
ws3 = wb.create_sheet("sheet_c", 2)
#末尾から2番目にワークシート"sheet_d"を挿入
ws4 = wb.create_sheet("sheet_d", -1)

# ワークシート名一覧を取得
print(wb.sheetnames)

# ワークシートのコピーを作成
ws_copy = wb.copy_worksheet(ws)
# ワークシート名一覧を取得
print(wb.sheetnames)

# ワークシートの名前を変更
ws_copy.title = "title"
# ワークシート名一覧を取得
print(wb.sheetnames)

# ワークブックを閉じる
wb.close()
<出力結果>
['sheet_b', 'Sheet', 'sheet_c', 'sheet_d', 'sheet_a']
['sheet_b', 'Sheet', 'sheet_c', 'sheet_d', 'sheet_a', 'Sheet Copy']
['sheet_b', 'Sheet', 'sheet_c', 'sheet_d', 'sheet_a', 'title']

create_sheetメソッドを使用することで、好きな順番でワークシートを保存することができます。
copy_worksheetメソッドを使用すると、ワークシートごとコピーすることができます。

コメント

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