【Python入門】OpenPyXLでExcelファイルからセルの値を取得する

python openpyxl Excel セル 値 取得 Python

PythonのOpenPyXLモジュールをインストールしてExcelのデータを取得します。
PythonのVersionは3.8.3、OpenPyXLのVersionは3.0.3です。
今回はExcelファイルのセルの値を取得することを目的とします。

検証用として以下のExcelファイルを用意しておきます。

OpenPyXLテスト用Excelファイル

OpenPyXLのインストール

pipコマンドでOpenPyXLモジュールをインストールします。

>pip install openpyxl

OpenPyXL:特定のセルの値を取得

さっそくOpenPyXLをインポートし、Excelからデータを取得してみましょう。

python OpenPyXL excel 特定セルの値を取得する

ここではA3,B3セルの値を取得してみます。

import openpyxl

wb = openpyxl.load_workbook(r'C:\Users\python\Desktop\excel\test.xlsx')
ws = wb.active
fruits = ws

print(fruits['A3'].value, fruits['B3'].value, sep=',')
もも,200
pytho openpyxlでExcelファイルから特定のセルの値を取得

load_workbook()で対象とするExcelファイルを指定します。
Excelファイルのシートが今回のように複数ある場合はExcelファイルを開いたときに、
表示されるシートから値が取得されます。

そのため、Vegetablesシートが表示された状態でExcelファイルを上書き保存し、
再度上記と同じPythonコードを実行すると「にんじん,150」と表示されます。

pytho openpyxl activeの検証

対象シートを変更するためにそんなことをするのは面倒くさいと感じる場合は
以下のように実行することで参照するシートを変更することができます。

python openpyxl get_sheet_by_name

上記のように参照するシートを変更するときは変数ws_chに格納した値のように
シートを指定してあげてください。
それかwb.get_sheet_by_name()でも同じことができます。

OpenPyXL:for文を使用してセルの値を取得

for文を使用することでセルの値を行ごとに取得することができます。


import openpyxl as px

wb = px.load_workbook(r'C:\Users\python\Desktop\excel\test.xlsx')
ws = wb.active

print(ws)

for row in ws:
    print(row[0].value, row[1].value, sep=',')

ws_ch = wb['Vegetables']

print(ws_ch)

for row in ws_ch:
    print(row[0].value, row[1].value, sep=',')
python openpyxl for

row[]の部分で列を指定します。(0をA列として数えていきます。)
値の入っていないセルは「None」を返します。

今回はExcelファイルから値を取得するOpenPyXLについて紹介しました。
OpenPyXLはExcelファイルのセルの値を参照するだけではありません。
Excelファイルの作成、値の挿入、更新、削除などの操作も可能なのでまた紹介します。

コメント

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