送られてきたエクセルファイルなんだけど、
A1セルに入っている文字が不要だから削除したい…。
openpyxlでセルの値を削除する方法を教えて!
わかりました!
「セルの値を削除する方法」と
「表全体の値を削除する方法」を
できるだけわかりやすく解説いたします!
【著者情報】
Python歴3年。
入社2年目の春に先輩が突然トンズラし、業務を半分肩代わりするハメに…。
今までの1.5倍の仕事をこなせるはずもなく、苦しむ毎日。
業務効率化を模索中にPythonと出合う。
業務とPythonの相性が良く、2倍以上の効率化を実現。現在も効率化を進行中。
openpyxlでセルの値を削除するには
「None」を記述します。意味不明ですね…。
まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import openpyxl
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
ws['A1'].value = None
wb.save('output.xlsx')
ws['A1'].value = None
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要です。
インストールの詳細も含め、既存ファイルを開いて保存する方法などの基本解説を、
下記記事で行っております。ご参考ください。
解説:セルの値を削除
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
ws['A1'].value = None
上記一文にて、「A1」セルの値を削除することができます。
「None」とは何でしょうか。
「None」は「空」とか「何もない」という意味です。
なので、「A1セルを空にしました」という処理になります。
<テンプレ>
【 ワークシート変数[‘セル名’].value = None 】
今回はセルの値を削除するため、「.value」を付けています。
値を操作(編集)する際は、「.value」を付けましょう。
以上が「A1」セルの値を削除する方法でした。
次に表全体の値を削除してみましょう。
表全体の値を削除する方法
ひとまず全コードを網羅します。
import openpyxl
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
for row in ws :
for cell in row :
cell.value = None
wb.save('output.xlsx')
前項と比べて、6~8行目が変わっていますね。
実行結果がこちらです。
全てのセルの値が削除されたのがわかります。
では、コードを見ていきましょう。
for row in ws :
for cell in row :
cell.value = None
for文の知識が必要となります。
初めて見る方は下記記事をご参考ください。
では本題に戻ります。
8行目の
「cell.value = None」
は前項の
「ws[‘A1’].value = None」
と同じだと思ってください。
前項は特定のセル「A1」の値を削除したので「A1」と指定しています。
今回は「A1~E5」までの値を削除するため、指定してしまうと25個の指定が必要になります。
指定する代わりにfor文を使って表内の全セルを処理しています。
「cell」には表内の「A1~E5」全セルが次々に入って処理されますのでご安心ください。
これで表全体の値が削除できます。
思い通りに動作しましたか?
エラーが出る場合は、次項を参考に対処してみてください。
削除ではなく、セルに文字を書き込みする方法は、下記記事をご参考ください。
うまく動作しない時の対処法
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
詳しい解説は、下記記事をご参考ください。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
詳しい解説は、下記記事をご参考ください。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
詳しい解説は、下記記事をご参考ください。
○○ is not defined
今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。
詳しい解説は、下記記事をご参考ください。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
最後に
openpyxlでセルの値を削除する方法を解説いたしました。
合計金額や古い日付など、不要な値は削除してしまいましょう!
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!