[Python] openpyxlの利用 〜 読み込み〜

Pocket
LINEで送る

Excelファイルを開く

wbook = openpyxl.load_workbook('sample.xlsx')

解説
すでに存在するExcelファイルを読み込む場合は「load_workbook」でExcelファイルを指定します。ファイルが読み込まれると「Workbook」オブジェクトが返却されます。

行数・列数の取得

wbook = openpyxl.load_workbook('sample.xlsx')
wsheet = wbook.active
print('max_c -> {0} , min_c -> {1} , max_r -> {2} , min_r -> {3}'.format(
        wsheet.max_column,
        wsheet.min_column,
        wsheet.max_row,
        wsheet.min_row
    ))

解説
対象のシートに対して記載されている最大行・最大列を取得する場合は、Worksheetオブジェクトの「max_row」「max_column」を参照します。

行単位に読み込む

# 1行目から読み込む
for row in wsheet.iter_rows(values_only=True):
    print(row)

# 2行目から読み込む(ヘッダー行をスキップ)
for row in wsheet.iter_rows(min_row=2,values_only=True):
    print(row)

解説
Worksheetオブジェクトに対してiter_rowsを参照することで行単位で順次取得できます。通常取得されるのはセル情報になるため、「value_only」引数を指定することで、セル内のテキストのみ取得することができます。
また、「min_row」引数を指定することで読み込む開始行を指定することができます。

今回サンプルで作成したコード

# -*- coding:utf-8 -*-

import openpyxl

wbook = openpyxl.load_workbook('sample.xlsx')
wsheet = wbook.active

print(wsheet['A1'].value)

print('max_c -> {0}    min_c -> {1}    max_r -> {2}    min_r -> {3}'.format(
        wsheet.max_column,
        wsheet.min_column,
        wsheet.max_row,
        wsheet.min_row
    ))

for row in wsheet.rows:
    print(row)

for row in wsheet.iter_rows(values_only=True):
    print(row)

for row in wsheet.iter_rows(min_row=2,values_only=True):
    print(row)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この記事のトラックバック用URL