セル番を数値で地指定
Excelのセル番地は A1 や B1 のように、列をAから始まる アルファベット、行を 数値 で表します。
ただ、プログラムにおいては 列を文字 で指定するのは面倒です。
そこで Worksheetオブジェクト の cellメソッド を使うとセル番地を 数値のみ で指定でき forループ などで特定のセル範囲を連続して処理できるようになります。
まずは A3セル を、1列 3行目 という数値の指定だけで取得してみます。
[Google Colaboratory]
1 2 3 4 5 6 7 8
| import openpyxl
book = openpyxl.load_workbook('テスト.xlsx') sheet = book['Sheet1']
print(sheet.cell(row=3, column=1 ).value)
|
読み込むエクセルファイルは下記になります。
[テスト.xlsx]

[実行結果]

範囲指定
cellメソッド を forループ の中で使うと、指定した範囲 のセルの値を取得することができます。
[Google Colaboratory]
1 2 3 4 5 6
| for i in range(2, 8): print(i, sheet.cell(row=i, column=1 ).value)
|
[実行結果]

範囲指定(スキップ)
rangeの 第3引数 を指定すると、指定した数だけ スキップ することができます。
[Google Colaboratory]
1 2 3 4 5 6
| for i in range(2, 8, 2): print(i, sheet.cell(row=i, column=1 ).value)
|
[実行結果]

range関数の第3引数に2を指定することで 1行おき に値を取り出すことができました。