這讓我非常震驚。我錯過了什麼?我的Python中的空字符串檢測?
我想檢測一個Excel工作表中的單元格是否爲空。但是沒有一個測試看起來像我期望的那樣工作。我希望簡單的「不是idkt」測試能夠檢測到空字符串和None,但是不會......實際上,似乎沒有任何測試沒有被檢測到,因爲在第三行中,這是什麼打印。
代碼:
def getFromExcelSheet():
wb = load_workbook("input.xlsx")
idkts = [];
idktRows = get_worksheet_as_list(wb.get_sheet_by_name('Inputs'))
# print "Got these idkts"
for row in idktRows:
# print row[0]
idkt = str(row[2]).strip()
filename = str(row[3]).strip()
if idkt == None:
print "Idkt == none"
if idkt is None:
print "Idkt is none"
if idkt == u"":
print "Idkt is ''"
if idkt != u"":
print "Idkt is !=''"
if not idkt:
print "not IDKT"
if idkt:
print "idkt"
print idkt
輸出
Idkt is !=''
idkt
3398041577
Idkt is !=''
idkt
3498100937
Idkt is !=''
idkt
None
它說什麼,如果你'印刷再版(idkt)'就上線? – thebjorn
'3398041577','3498100937',None' –
如果None沒有''',它是一個字符串(而不是'None'常量...) – thebjorn