OpenPyXL Pythonでエクセル操作 – 値の読み書き

OpenPyXL

OpenPyXLを使って、エクセルファイルのセルの読み書きを行います。

import openpyxl

# ワークブック新規作成
wb = openpyxl.Workbook()

# シート名からシートを選択
sheet = wb["Sheet"]

# ①セルのオブジェクトを取得 - 行列の数字で指示
cell1 = sheet.cell(row=2, column=2)

# ②セルのオブジェクトを取得 - 行を数字/列にアルファベットで指示
cell2 = sheet["A1"]

# セルに値を代入
cell1.value = "AAA"
cell2.value = "BBB"

# ③セルの値を取得 - 行列の数字で指示
a = sheet.cell(row=2,column=2).value

# ④セルの値を取得 - 行を数字/列にアルファベットで指示
b = sheet['A1'].value
print(a,b)

# ワークブック保存
wb.save('file.xlsx')

# ワークブックを閉じる
wb.close()

プログラムのコードを最初から見ていきます。

import openpyxl

openpyxlをインポートします。これをしないとopenpyxlのモジュールが使えません

# ワークブック新規作成
wb = openpyxl.Workbook()

openpyxlモジュールの、Workbook()関数を使い、新規のエクセルファイルを作成します。

新規のエクセルファイル作成と同時にシート名が”Sheet”が自動で作成されます。

# シート名からシートを選択
sheet = wb["Sheet"]

どのシートを使うかを指示します。エクセルファイルの中のどのシートを指定するかは、方法がいくつかあります。wbがエクセルファイルのオブジェクト、”Sheet”がシート名で、シート名を指示してオブジェクトを作成します。

シートの指示方法については以下の記事も参考にしてください。

# ①セルのオブジェクトを取得 - 行列の数字で指示
cell1 = sheet.cell(row=2, column=2)

# ②セルのオブジェクトを取得 - 行を数字/列にアルファベットで指示
cell2 = sheet["A1"]

指定したシートのセルを選択します。セルの選択方法は、行と列の情報で指示し、①行列の数字を使う方法と、②行を数字/列にアルファベットを使う方法があります。

rowが行でrow=2は2行目、columnが列でcolumn=3は3列目です。行と列は1から始まるため注意が必要です。

# セルに値を代入
cell1.value = "AAA"
cell2.value = "BBB"

セルのオブジェクトのvalueに値を代入します。

# ③セルの値を取得 - 行列の数字で指示
a = sheet.cell(row=2,column=2).value

# ④セルの値を取得 - 行を数字/列にアルファベットで指示
b = sheet['A1'].value

セルから値を取得する方法です。③が行列の数字で指示、④が行を数字/列にアルファベットで指示です。上記のセルの選択方法と考え方は同じです。

# ワークブック保存
wb.save('file.xlsx')

# ワークブックを閉じる
wb.close()

wb.saveでエクセルファイルをfile.xlsxに保存します。最後に、wb.close()でエクセルファイルを閉じます。

以上となります。

OpenPyXLの他の関数の使い方について知りたい場合は下記記事が非常に参考になります。

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