OpenPyXL⑫ (指定したセル範囲のデータ取得)

指定したセル範囲のデータ取得

Worksheetオブジェクト に対して、下記のように指定すると、指定したセル範囲のデータ を取得することができます。

   Worksheet[‘開始セル番地’: ‘終了セル番地’]

レコード単位でCellオブジェクトを タプルにしたタプル が返されるので、2重にした forループ を使って全てのデータをレコード単位で取り出すことができます。

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
11
import openpyxl

book = openpyxl.load_workbook('テスト.xlsx') # Excelブックを取得
sheet = book['Sheet1'] # Sheet1を取得

for row_obj in sheet['A2':'D6']: # ①1行のレコードを取り出す
for cell_obj in row_obj: # ②レコードからセルを取り出す
print(cell_obj.coordinate, # セル番地
cell_obj.value # セルの値
)
print('--- 1レコード(1行)終わり ---') # 1行のレコードの区切りを示す

読み込むエクセルファイルは下記になります。

[テスト.xlsx]

[実行結果]

指定したセル範囲(A2〜D6)のデータを取得することができました。