経緯
Pythonを使ってExcelファイルの情報をプログラムから取得したいと考え、
今回はopenpyxl
ライブラリを使って、特定のセルやセル範囲から値を取得する方法について学習しました。
まずはopenpyxlをインストール
openpyxl
を使用するには、事前にインストールが必要です。
以下のコマンドを実行してください。
pip install openpyxl
サンプルコード
以下のコードは、「example.xlsx」というExcelファイルを開き、
- A1セルの値を取得する
- A1からB2までの範囲の値をすべて出力する
という処理を行います。
from openpyxl import load_workbook
# Excelファイルを読み込む
workbook = load_workbook(filename='example.xlsx')
# アクティブなシートを取得
sheet = workbook.active
# A1セルの値を取得
cell = sheet['A1']
print(cell.value)
# A1〜B2の範囲の値をすべて取得して出力
cells_range = sheet['A1:B2']
for row in cells_range:
for cell in row:
print(cell.value)
コードの解説
・load_workbook()
を使ってExcelファイル(example.xlsx)を読み込みます。ファイルパスは必要に応じて調整してください。
・workbook.active
で、現在アクティブなシート(通常は最初のシート)を取得します。
・sheet['A1']
で、A1セルの値を取得できます。print(cell.value)
で中身を確認可能です。
・sheet['A1:B2']
で、A1からB2までの範囲を取得し、二重ループで値を出力します。
これは2行×2列=4セル(A1、A2、B1、B2)の内容を順番に表示します。
応用ポイント
この方法を応用すれば、たとえば次のような処理も可能です。
- Excelファイルの特定範囲を読み取って、リストや辞書に変換する
- セルの値を条件に応じて処理分岐する
- 複数シートの情報を一括で処理する
openpyxl
は、単なる読み書きだけでなく、書式やスタイル、数式の読み取りなども対応しているため、Excel操作を自動化したい方には非常に便利なライブラリです。
まとめ
Pythonのopenpyxl
を使えば、Excelファイル内の任意のセルやセル範囲から値を簡単に取得できます。
今回のように、sheet['A1']
やsheet['A1:B2']
といった指定をすることで、セル単位でも範囲単位でも柔軟に情報を扱うことが可能です。
業務の自動化やデータ処理の効率化を考えている方にとって、基本として覚えておきたい操作です。
最後までお読みいただき、ありがとうございました。