openpyxl
はPythonを使用してExcelファイルを読み取るための優れた方法のようですが、常に問題が発生しています。セルが空かどうかを検出する必要がありますが、セルのプロパティを比較することができません。文字列としてキャストし、""
を使用してみましたが、うまくいきませんでした。空のときのセルのタイプはNone
またはNoneType
ですが、オブジェクトとそれを比較する方法がわかりません。
提案?私はopenpyxl
が開発中であることを理解していますが、おそらくこれはより一般的なPython問題です。
セルが空でないときに何かを行うには、以下を追加します。
if cell.value:
pythonは、セルの値がNoneでない場合と同じです(つまり、cell.valueがない場合== None :)
使用できる空のセルをチェックしないように注意してください
worksheet.get_highest_row()
そして
worksheet.get_highest_column()
また、使用できるタイプに関係なくセルの内容を文字列として使用したい場合は、(Niceソリューションではないかもしれませんが)便利です。
unicode(cell.value)
これでうまくいきました。
if cell.value is None:
print("Blank")
else:
print("Not Blank")
の
if cell.value is None:
この場合に使用する最適なオプションです。
イテレーションで使用したい場合は、次のように使用できます。
ws=wb.active
names=ws['C']
for x in names:
if x.value is None:
break
print(x.value)
ws.max_column
とws.max_row
の問題は、空白の列もカウントされるため、目的が達成されないことです。