2011-10-26 16 views
7

openpyxlはPythonを使ってExcelファイルを読み込むのに最適な方法だと思われますが、私は一定の問題を抱えています。私は、セルが空であるかどうかを検出する必要がありますが、セルのプロパティを比較することはできません。私は文字列としてキャストしようとしましたが、 ""使用しても動作しませんでした。空のときのセルのタイプはNoneまたはNoneTypeですが、オブジェクトをその値と比較する方法はわかりません。openpyxl空のセルを確認する

提案?私はopenpyxlが開発中だと理解していますが、これはもっと一般的なPythonの問題です。

+2

もう一度、もう少し検索は答えをもたらした:セル場合 '使用しています。値はなし ' – MechEngineer

答えて

15

セルが空で追加しないときに何かをする:

if cell.value: 

pythonでセル値はなし(すなわちでない場合と同じである。そうでない場合はcell.value ==なし:)

あなたは

worksheet.get_highest_row() 

worksheet.get_highest_column() 
を使用することができます空のセルをチェックしないようにする

注意あなたは関係なく、あなたが使用できるタイプの文字列としてセルの内容を使用したい場合は

はまた、私は(素敵な解決策ではないかもしれませんが)、それは有用であることが判明:

unicode(cell.value) 
+9

**気をつけてください!**' bool(cell.values)== 'cell.value = 0'の場合はFalse' –

+1

get_highest_rowとget_highest_columnメソッドを削除した最新のopenpyxlで。それらはmax_rowとmax_columnプロパティに置き換えられました – Shoham

7

これは私のために働きました。

if cell.value is None: 
    print("Blank") 
else: 
    print("Not Blank") 
-2

は、次の例のように、あなたはまた、あなたがコーディングでき を検証したいセルまたはセルを変更することができます。

import openpyxl 

wb = openpyxl.load_workbook("file.xlsx") 
sheet = wb.get_sheet_by_name('Sheet1') 

if sheet.cell(row = 1, column=7).value == None: 
    print("Blank") 
else: 
    print("No blank") 
関連する問題