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冊です!
リンク