PythonでExcel操作~セルに値があるかどうかの判定~
こんにちは。風助です。
今回はExcelファイルのセルに何かしらの値が入っているか否かの判定をしてみます。
はじめに
セルに値が入っているときだけ色を付けたいとか、ありませんか?セルの値の有無が判別できると一気に可能性が広がると思います。
今回はセルに値があるかないかを簡単なif文で判断してみます。
プログラムを組むうえで大切なのは、数ある参考コードから自分に必要なところを拾い上げたり、簡単なコードの組み合わせたりすることだと思います。つまり応用力です。
なんだかんだ書いてますが何が言いたいのかというと、どうぞご参考までに。
今回の画像はみんなのフォトギャラリーから「フジナミ」さんの作品です。
実際にやってみる
早速ですがコードを貼っていきます。
import openpyxl
wb = openpyxl.Workbook()
ws = wb['Sheet']
list = ['C1', 'F1']
for num in list:
ws[num] = 1
wb.save('note.xlsx')
def isThisBlank(cellCoodinate):
if ws[cellCoodinate].value is None:
return 0
else:
return 1
anser1 = isThisBlank('C1')
print(anser1)
anser2 = isThisBlank('B3')
print(anser2)
anser3 = isThisBlank('F1')
print(anser3)
判別するための式はdef isThisBlank(cellCoodinate)のところですね。
やってることは単純。セルの値を表す.valueで空白のセルを指定すると、Noneが返ってきます。Noneが帰ってきたときに0を返し、None以外の時(つまり値が入っている時)に1を返す関数を作りました。
上のコードを丸々コピぺして動かすと、C1とF1のセルに値が入っているので、最後のprint()3連続のとこで「1,0,1」と返ってくるはず。
関数にした理由は特にありません。しいて言うなら、なんかで応用できそうだから。応用は大事ですよ。
空白か否かは.valueがNoneか否かで判断するので、今回紹介したコードの他にもいろいろな応用が利きます。whileループを使って空白セルが出るまで、つまりセルに値がある限り罫線で囲うというコードも組めます。いろいろと試してみてください。
何事も挑戦あるのみです。失敗できるところで失敗していきましょう。
終わりに
今回はセルに値があるかを判断するコードを組みました。組んでみる前はもっと難しいかなと思っていましたが、意外と簡単でした。少しくらいは実力がついてきたってことでしょうか。
でも慢心してるとそうそうに痛い目を見るのは分かり切っているので堅実に歩みたいと思います。
想像以上に仕事が忙しく、今後の投稿で文章量が著しく少なくなるかもしれません。それでも毎日何かしらの投稿をし続けたいと思うので、いいと思ったらスキをくれると嬉しいです。フォローはもっと嬉しい!
Python関連の記事がまとめてあります。ぜひ見てね。
今回はここまで。次回までさようなら。
この記事が気に入ったらサポートをしてみませんか?