Python(openpyxl) 行・列をループする方法まとめ

Python

Python(openpyxl)で、Excelの行・列をループする方法をまとめました。用途に合わせた繰り返し処理をコード付きでご紹介します。

ぜひ、お試しください。

行列をループ 4選

列をループ(iter_cols)

以下のコードを実行すると、列をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

for row in ws.iter_cols():
    for cell in row:
        print(cell.value)

 
列をループします。


 
 

列をループ(二重ループ)

以下のコードを実行すると、列をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#シートの最終行を取得
Sheet_Max_Row = ws.max_row

#シートの最終列を取得
Sheet_Max_Clm = ws.max_column

# 列をループ
for j in range(1,Sheet_Max_Clm + 1):

    #行をループ
    for i in range(1,Sheet_Max_Row + 1):

        #値をprint
        print(ws.cell(row=i, column=j).value)

 
列をループします。


 
 

行をループ(iter_rows)

以下のコードを実行すると、行をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

for row in ws.iter_rows():
    for cell in row:
        print(cell.value)

 
行をループします。


 
 

行をループ(二重ループ)

以下のコードを実行すると、行をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#シートの最終行を取得
Sheet_Max_Row = ws.max_row

#シートの最終列を取得
Sheet_Max_Clm = ws.max_column

# 行をループ
for j in range(1,Sheet_Max_Row + 1):

    #列をループ
    for i in range(1,Sheet_Max_Clm + 1):

        #値をprint
        print(ws.cell(row=j, column=i).value)

 
行をループします。


 
 

特定の行列をループ

特定列を1つずつループ

以下のコードを実行すると、特定の列をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

for row in ws.iter_cols():
    for cell in row:
        if cell.col_idx == 2:
            print(cell.value)

 

エクセルシート内の特定列を1つずつループします。

[if cell.col_idx == 2:] と指定すると、2列目(B列)をループします。


 
 

特定行を1つずつループ

以下のコードを実行すると、特定の行をループします。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

for row in ws.iter_cols():
    for cell in row:
        if cell.row == 3:
            print(cell.value)

 

エクセルシート内の特定行を1つずつループします。

[if cell.row == 3:] と指定すると、3行目をループします。


 
 

この記事がお役に立ちますと幸いです。
 
・【Python】エクセルを自動処理する方法まとめ
 

【Python】エクセル処理を自動化:超便利55選
Pythonで、Excel処理を自動化するコードをご紹介します。ぜひお試しください!

 

「Python 1年生 体験してわかる!会話でまなべる!」

初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!