【Python】セルの値をクリアする(openpyxl):8つの使用例を紹介

Python_セル値をクリア_アイキャッチ Python

Python(openpyxl)で、セルの値をクリアするソースコードをご紹介します。

条件書式や罫線は消えずに、そのまま残ります。
値のみクリアします。

「確実にこの範囲のデータを消したい」というときに、便利なコードです。

セルの値をクリア(特定範囲)

以下のマクロを実行すると、特定の範囲の値をクリアします。


import openpyxl

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

for row in ws.iter_rows(min_row=2, min_col=2, max_row=6, max_col=4):
  for cell in row:
      cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

シート内の B2:D6 の文字をすべて消去します。
 

 
 

セルの値をクリア(特定シート)

以下のマクロを実行すると、特定シート内のすべての値をクリアします。


import openpyxl

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

for row in ws:
  for cell in row:
      cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

指定シートの値をすべて消去します。
 

 
 

列の値をクリア(特定の列)

以下のマクロを実行すると、B列の値をクリアします。


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:
        if cell.col_idx == 2:
            cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

B列の値を消去します。

[if cell.col_idx == 2:] は、B列を指定しています。

 

 
 

列の値をクリア(特定の複数列)

以下のマクロを実行すると、C列、E~F列の値をクリアします。


import openpyxl

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

mylist = [3,5,6]

for list in mylist:
    for row in ws.iter_rows():
        for cell in row:
            if cell.col_idx == list:
                cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

指定の複数列の値を消去します。
 

 
 

列の値をクリア(特定列以降)

以下のマクロを実行すると、特定の列以降の値をクリアします。


import openpyxl

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

for row in ws.iter_rows(min_col=3):
  for cell in row:
      cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

C列以降の値をすべて消去します。
 

 
 

行の値をクリア(特定の行)

以下のマクロを実行すると、5行目の値をクリアします。


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:
        if cell.row == 5:
            cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

5行目の値を消去します。
 

 

行の値をクリア(特定の複数行)

以下のマクロを実行すると、3行目、5~6行目の値をクリアします。


import openpyxl

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

mylist = [3,5,6]

for list in mylist:
    for row in ws.iter_rows():
        for cell in row:
            if cell.row == list:
                cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

指定の複数行の値を消去します。
 

 
 

行の値をクリア(特定行以降)

以下のマクロを実行すると、特定の行以降の値をクリアします。


import openpyxl

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

for row in ws.iter_rows(min_row=5):
  for cell in row:
      cell.value = None

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test値クリア.xlsx')
マクロ実行後

5行目以降の値をすべて消去します。
 

 
 
この記事がお役に立ちますと幸いです。
 

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

 

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

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