openpyxlでエクセルファイルを編集しているんだけど、
空白のセルが混ざっている…。
空白セルを判定して違う処理をさせたいんだけど、できるの?
なるほど…。
では今回は、「openpyxlでセルの空白を判定する方法」を
できるだけわかりやすく解説いたします。
openpyxlでセルの空白を判定する方法
「None」で空白を判定します。まずは全コードと実行結果をお見せします。
解説は後ほど行います。
全コード
import openpyxl
wb = openpyxl.load_workbook('C:/Utatane/input.xlsx')
ws = wb['Sheet1']
cell = ws['A1']
if cell.value is None:
ws['B1'].value = 'セルA1は空白です'
else:
ws['B1'].value = 'セルA1は空白ではありません'
wb.save('C:/Utatane/output.xlsx')
if cell.value is None:
実行結果
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要です。
インストールに関する詳細や、インストールができなかった場合の対処法は下記記事で解説しております。
また、既存ファイルを開いて保存する方法など、基本解説も行っておりますのでご参考ください。
解説
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
セルを変数に代入
ひとまず、判定するセルを変数に代入します。
下記がそのコードです。
cell = ws['A1']
【コードの解説】
新しい名前の変数を書いたら、「=(イコール)」を書きます。
今回はわかりやすく「cell」という名前の変数にしましたが、何でも構いません。
しかしながら、つけられない名前があったりしますので、下記記事をご参考ください。
イコールの後ろには、「シートが入った変数(今回はws)」に続けて[]を書きます。
[]内には判定するセル名を書いてください。
セル名は「’(クォーテーション)」で囲ってください。
囲わないと正常に動きません。
空白を判定
前項で変数(cell)に代入したセルを、下記コードで判定します。
if cell.value is None:
ws['B1'].value = 'セルA1は空白です'
else:
ws['B1'].value = 'セルA1は空白ではありません'
もし(if)、セル(cell)の値(value)が空白(None)なら、セルB1に「セルA1は空白です」と書き込みされ、空白ではない場合は、セルB1に「セルA1は空白ではありません」と書き込みされます。
「if~else」については下記記事をご参考ください。
9行目のセルの書き込みについては、下記記事をご参考ください。
セルA1が空白でなかった場合の結果も見てみましょう。
A1セルに値を入れてみます。
実行してみましょう。
セルA1に値が入っているため、セルB1に「セルA1は空白ではありません」と書き込みされました。
以上で空白セルの判定は完了です。
空白セルの判定に関連する記事を貼っておきます。次のステップとしてチャレンジするなどお役立てください。
うまく動作しない場合の対処法
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
詳しい解説は、下記記事をご参考ください。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
詳しい解説は、下記記事をご参考ください。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
詳しい解説は、下記記事をご参考ください。
○○ is not defined
今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。
詳しい解説は、下記記事をご参考ください。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
最後に
openpyxlで空白を判定する方法を解説いたしました。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
挫折せずにPythonを独学で学習する方法は特におすすめです。
最後までお読みいただき、ありがとうございました。がんばってください!