PythonのopenpyxlでExcelファイルを読み書きする方法を徹底解説
はじめに
openpyxlは、Excel 2010形式のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。
Office Open XML形式をPythonからネイティブに扱えるライブラリが存在しなかったことから、その不足を補うために誕生しました。
業務などで使用するExcelファイルは「ワークブック(Workbook)」と呼ばれ、最低1枚、最大で数十枚のシートを含むことができます。
各シートは、行が1から始まり、列がAから始まる構成になっています。
openpyxlライブラリを使えば、シートの追加やデータの入力はもちろん、データの操作や削除まで、さまざまな処理を行うことが可能です。
それでは、実際の使い方を見ていきましょう。
セットアップ方法
openpyxlはPythonに標準で同梱されていないため、PIPパッケージマネージャーを使ってダウンロード・インストールする必要があります。ターミナルを起動し、以下のコマンドを実行してください。
pip install openpyxl
ライブラリのインストールが完了したら、Excelファイルを操作するために必要なモジュールをインポートします。
まずは、openpyxlライブラリからWorkbookモジュールをインポートしましょう。
from openpyxl import Workbook
必要なインポートが済んだら、Workbookモジュールを使ってExcelシートの作成とデータの保存ができるようになります。
Excelファイルへのデータ作成と保存
まず、Workbook()クラスのインスタンスを作成します。
wb = Workbook()
次に、シートを作成します。
sheet = wb.active
ここからデータの追加を始めましょう。
sheet['A1'] = "Hello"
sheet['A2'] = "World!"
sheet['A3'] = 41.80
sheet['A4'] = 10
コンテンツを追加したら、ファイルを保存して内容を確認してみます。
wb.save("example.xlsx")実行結果

同様に、「A1」や「B1」といったセル番地ではなく、行と列の座標を指定して値を追加することもできます。
sheet.cell(row=2, column=2).value = 5
このコードは、B2セルに5を書き込みます。
Excelファイルからのデータ読み取り
Excelファイルへの書き込み方法がわかったところで、次はExcelファイルからデータを読み取る方法を学びましょう。
読み取りの場合は、Workbookモジュールを個別にインポートする必要はなく、openpyxlをインポートするだけでOKです。
import openpyxl
ファイルを読み込むには、まず対象ファイルの場所をリーダーに指定します。
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.activeこれでExcelファイルが読み込まれ、データの取得を開始できます。
temp1 = sheet['A1']
temp2 = sheet['B1']
temp3 = sheet.cell(row = 3, column = 1)
temp4 = sheet.cell(row = 4, column = 1)
print(temp1.value, temp2.value, temp3.value, temp4.value)
実行結果
Hello World! 41.8 10
サンプルコード全体
書き込みから読み取りまでの一連の流れを、以下のコードで確認できます。
from openpyxl import Workbook
import openpyxl
wb = Workbook()
sheet = wb.active
sheet['A1'] = "Hello"
sheet['B1'] = "World!"
sheet['A3'] = 41.80
sheet['A4'] = 10
wb.save("example.xlsx")
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active
temp1 = sheet['A1']
temp2 = sheet['B1']
temp3 = sheet.cell(row = 3, column = 1)
temp4 = sheet.cell(row = 4, column = 1)
print(temp1.value, temp2.value, temp3.value, temp4.value)
まとめ
これで、Pythonを使ってExcelファイルの読み書きができるようになりました!
openpyxlライブラリにはさらに多くの機能が備わっており、複数データの一括追加、グラフの作成、統計情報の表示なども実現できます。
さらに詳しく知りたい方は、公式ドキュメント(https://pypi.org/project/openpyxl/)をご覧ください。
-
PythonのopenpyxlでExcelファイルに対して算術演算を行う方法
Pythonを使えば、Python環境から直接Excelファイルを操作できます。ワークシート内の特定のセルやセル範囲を参照し、そこに対して算術演算を適用することが可能です。さらに、演算結果もPythonプログラムで指定した任意のセルに保存できます。 以下の例では、Excelに組み込まれた関数(SUMやAVERAGEなど)を利用してさまざまな算術演算を実行します。まずopenpyxlモジュールでワークブックを作成してアクティブにし、あらかじめ決めておいたセルに値を書き込みます。その後、それらのセル範囲に対して関数を適用し、計算結果を別のセルに出力します。 使用する主なExcel関数 SUM:指
-
PythonのopenpyxlモジュールでExcelファイルを読み書きする方法【初心者向け完全ガイド】
Pythonには、Excelファイル(.xlsx)を操作するためのopenpyxlという便利なモジュールが用意されています。このモジュールを使えば、Excelファイルの新規作成、データの書き込み・読み取り、シートの追加や管理など、さまざまな操作をプログラムから自動的に行うことができます。 本記事では、openpyxlの基本的な使い方を、実際に動作するサンプルコードとともに順番に解説していきます。 openpyxlのインストール方法 openpyxlは標準ライブラリではないため、まずインストールが必要です。コマンドプロンプト(またはターミナル)で以下のコマンドを実行してください。 pip ins