python openpyxlを使ってEXCELの上にあるデータを全て取得する

python openpyxlを使ってEXCELの上にあるデータを全て取得する

pythonで、ライブラリopenpyxlのrowsを使用して、EXCELの上にあるデータを全て取得するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

openpyxlインストール

openpyxlをインストールされていない方は、pipでインストールしておきます。

pip install openpyxl

<出力結果>
Successfully installed et-xmlfile-1.0.1 jdcal-1.4.1 openpyxl-3.0.5

rows使い方

rowsを使用すると、EXCELの上にあるデータを全て取得することが可能です。

以下は、「sample.xlsx」にあるデータを、openpyxlのrowsを使用して、表示するサンプルコードとなります。

sample.xlsx

ソースコード

import openpyxl

wb = openpyxl.load_workbook("sample.xlsx")
sheet1 = wb["Sheet1"]

# 値を全て取得
for cells in tuple(sheet1.rows):
    for cell in cells:
        print(cell.value)

# A1
# B1
# C1
# A2
# B2
# C2
# A3
# B3
# C3

sample.xlsxが以下の場合は、

実行結果は以下の通りになります。

# A1
# B1
# C1
# A2
# B2
# None
# A3
# B3
# C3
# A4
# None
# None

列をベースにする場合は「columns」を使用します。

sample.xlsx

ソースコード

import openpyxl

wb = openpyxl.load_workbook("sample.xlsx")
sheet1 = wb["Sheet1"]

# 値を全て取得
for cells in tuple(sheet1.columns):
    for cell in cells:
        print(cell.value)

# A1
# A2
# A3
# B1
# B2
# B3
# C1
# C2
# C3