【Python】Excelの空白行を削除する openpyxl2選

Python_空白行を削除_アイキャッチ Python

Pythonで、エクセルの空白行を削除するコードをご紹介します。

ぜひ、お試しください。

Excelの空白行を削除

以下のコードを実行すると、空白セルがある行を一括削除します。


import openpyxl

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

#シートの最終行を取得
Sheet_Max = ws.max_row + 1

#最終行から逆ループ
for i in reversed(range(1,Sheet_Max)):

    #A列が None だったら
    if ws.cell(row=i, column=1).value == None:

        #行削除
        ws.delete_rows(i)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test空白行削除.xlsx')

 

コード実行後

Excelシート内で、空白行を自動削除します。

[if ws.cell(row=i, column=1).value == None:] は、セルの値が空白かどうか判定します。

[ws.delete_rows(i)] は、該当の行を削除します。

見た目は空白でも、空白スペースが入っているセルは削除されません。


 
 

Excelの空白行を削除(空白スペースを判定)

以下のコードを実行すると、空白行をまとめて削除します。


import openpyxl

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

#シートの最終行を取得
Sheet_Max = ws.max_row + 1

#最終行から逆ループ
for i in reversed(range(1,Sheet_Max)):

    GetValue1 = ws.cell(row=i, column=1).value

    #A列が None だったら
    if GetValue1 == None:
        #行削除
        ws.delete_rows(i)
    else:
        #A列の空白文字を削除
        GetValue2 = GetValue1.strip()

        #セルの文字数が 0 だったら
        if len(GetValue2) == 0:
            #行削除
            ws.delete_rows(i)

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test空白行削除.xlsx')

 

コード実行後

A列が空白のセルについて行を削除します。

空白スペースが入っているセルについても行削除します。

 
動作環境
Python 3.7.4
openpyxl 3.0.5

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

【Python】エクセル処理を自動化:超便利55選
...

 

「PythonでExcel、メール、Webを自動化する本」

準備に時間をかけず、すぐ始められます
実践的な例題で、実務で本当に使えるプログラムを紹介
自分の仕事を効率化したい方の大きな武器になるオススメの1冊です!