Python
 Computer >> コンピューター >  >> プログラミング >> Python

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")

実行結果

PythonのopenpyxlでExcelファイルを読み書きする方法を徹底解説

同様に、「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/)をご覧ください。

  1. PythonのopenpyxlでExcelファイルに対して算術演算を行う方法

    Pythonを使えば、Python環境から直接Excelファイルを操作できます。ワークシート内の特定のセルやセル範囲を参照し、そこに対して算術演算を適用することが可能です。さらに、演算結果もPythonプログラムで指定した任意のセルに保存できます。 以下の例では、Excelに組み込まれた関数(SUMやAVERAGEなど)を利用してさまざまな算術演算を実行します。まずopenpyxlモジュールでワークブックを作成してアクティブにし、あらかじめ決めておいたセルに値を書き込みます。その後、それらのセル範囲に対して関数を適用し、計算結果を別のセルに出力します。 使用する主なExcel関数 SUM:指

  2. PythonのopenpyxlモジュールでExcelファイルを読み書きする方法【初心者向け完全ガイド】

    Pythonには、Excelファイル(.xlsx)を操作するためのopenpyxlという便利なモジュールが用意されています。このモジュールを使えば、Excelファイルの新規作成、データの書き込み・読み取り、シートの追加や管理など、さまざまな操作をプログラムから自動的に行うことができます。 本記事では、openpyxlの基本的な使い方を、実際に動作するサンプルコードとともに順番に解説していきます。 openpyxlのインストール方法 openpyxlは標準ライブラリではないため、まずインストールが必要です。コマンドプロンプト(またはターミナル)で以下のコマンドを実行してください。 pip ins