【Python】Excelで色付きセルの行を削除:openpyxl

Python_エクセル色付きセルの行を削除_アイキャッチ Python

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

ぜひ、お試しください。

Excelで色付きセルの行を削除

以下のコードを実行すると、色のついているセルがある行を削除します。


import openpyxl
from openpyxl.styles import PatternFill

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 reversed(range(Sheet_Max_Row)):

        if i == 0:
            break

        #色付きセルだったら
        if ws.cell(row=i, column=j).fill != PatternFill(fill_type = None):

            #行削除
            ws.delete_rows(i)

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

 

コード実行後

セルの背景色が塗りつぶしてある場合、その行を削除します。

[if ws.cell(row=i, column=j).fill != PatternFill(fill_type = None):] にて、

セルに色がついているかどうか判定します。


 
 
動作環境
Python 3.7.4
openpyxl 3.0.5

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

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

 

「Excel×Python最速仕事術」

Excelの面倒な操作はパソコンにやらせよう
実践的な例題で、業務に即したプログラムを紹介
無駄な残業をするのはもうたくさんな方にオススメの1冊です!