2013-05-31 19 views
0

這必須是非常基本的,但經過一些搜索,我還沒有找到答案。如何跳過一個空的列與python

我遍歷列表中有一些列中有值,有些列是空的。如果列爲空,我希望代碼跳過該行。這是我有:

for lines in luku: 
    split = lines.split("\t") 
    if "c-sarja" in split and "F" in split[2]: 
     c_nainen = lines.split("\t") 
     if int(c_nainen[8]) >= 50: 
      old_lady = lines 
      print c_nainen[0], ": OLD," " AGE:", c_nainen[8], "years" 
     else: 
      ?? 

錯誤:

ValueError: invalid literal for int() with base 10: '' 
+0

所以你的問題是,你的'int'轉換得到'ValueError',是嗎? –

+0

另外,你爲什麼要做兩次完全相同的split()操作? –

+0

是的,編輯過的問題 – jester112358

回答

1

上一個空字符串調用int()提高ValueError,如您所見。

只需使用一個try/except塊:

for lines in luku: 
    split = lines.split("\t") 
    if "c-sarja" in split and "F" in split[2]: 
     try: 
      age = int(split[8]) 
     except ValueError: 
      continue   # Skip to the next iteration 
     if age >= 50: 
      old_lady = lines 
      print split[0], ": OLD," " AGE:", age, "years" 
0

如果你是在一個for循環,並希望跳過當前的項目,只是做continue和執行將跳轉到下一個項目中for循環。

(或者,什麼都不做。然後執行將通過流到下一個循環的開始呢。)

0
try: 
    age = int(c_nainen[8]) 
except ValueError: 
    continue