下記のようなtest.xlsxファイルを読み込み、各行のデータをiter_rows関数を利用して取得してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import openpyxl wb = openpyxl.load_workbook('test.xlsx') ws = wb.worksheets[0] values = [] for row in ws.iter_rows(min_row=2, max_row=5, min_col=2, max_col=3): values.append([cell.value for cell in row]) print(values) # [['こころ', '夏目'], ['斜陽', '太宰'], ['金閣寺', '三島'], ['草枕', '夏目']] |
9行目
iter_rowsの引数には取得する範囲を指定しています。min_row=2で2行目以降の行データを取得し、max_row=5で5行目までと範囲を決めています。またmin_col、max_colによって列の取得範囲も指定しています。本記事ではiter_rowsを利用した列単位でのデータ取得を説明していますが、iter_colsを利用すれば列単位でデータ取得が可能となります。
10行目
リストの内包表記(List comprehensions)を利用して、用意したリストに要素を追加しています。
参照ページ