Python EXCELの最大行・最大列を取得する

PythonではEXCELの最大行・最大列を取得することができます。

ExcelのデータをPythonで読み込む際、データが入っている行・列の最大値がわかっていた方がいいケースがあります。

今回は、EXCELの最大行・最大列を取得する方法を解説します。

EXCELの最大行・最大列を取得する

構文

import openpyxl

# ブックを取得
ブック変数 = openpyxl.load_workbook(ファイル名)
# 最大行を取得
ブック変数[シート名].max_row
# 最大列を取得
ブック変数[シート名].max_column

PythonでExcel操作をするには、「openPyXl」パッケージが便利です。「openPyXl」を事前にダウンロード・インストールしておく必要があります。

参照外部パッケージ OpenPyXLをインストールする方法

データが入力されているセルの最大行は「max_row」で、最大列は「max_column」で取得できます。

例1. Excelの最大行・最大列を取得する

import openpyxl

# ブックを取得
book = openpyxl.load_workbook('C:\\pg\\data.xlsx')

# 最大行を取得 
book['Sheet1'].max_row
#[結果] 10

# 最大列を取得 
book['Sheet1'].max_column
#[結果] 2

 

この例では、Excel「data.xlsx」の「Sheet1」シートに存在するデータの最大行・最大列を「max_row」「max_column」で取得しました。

例2. Excelの最大行・最大列を取得する(セル飛び)

# 最大行を取得 
book['Sheet1'].max_row
#[結果] 12

 

セルが飛んだらどうなるのか?この例では11行目を飛ばして12行目にデータがあります。それでも「max_row」では12が返ってきました。

例3. Excelの最大行・最大列を取得する(セル削除)

# 最大行を取得 
book['Sheet1'].max_row
#[結果] 10

例2で12行目にデータが入っていました。12行目のデータを削除したらどうなるか?データは10行目までしかありませんが、12行目に以前データが入っていました。これでも正常に最大行がとれるのか?

「max_row」ではちゃんと10が返ってきましたね。某言語ではこれができません・・・。

例4. Excelの最大行・最大列を取得する(スペースあり)

# 最大行を取得 
book['Sheet1'].max_row
#[結果] 12

 

12行目に半角スペースを入れました。きちんと半角スペースを認識して「max_row」では12が返ってきました。

これで「max_row」「max_column」を使ってExcelの最大行・最大列を取得することができました。

以上、PythonでEXCELの最大行・最大列を取得する「max_row」「max_column」でした。

コメント