2016-05-25 182 views
0

我遍歷csv文件中的每一行,並選擇/只計算滿足條件的行。但是,當連續出現錯誤時,它會停止循環。有沒有辦法告訴Python跳過錯誤並移動到下一行?我使用try函數但沒有工作。我的代碼是跳過for循環中的錯誤行

try(row['BAS'] = float(row['Close Ask']) - float(row['Close Bid'])) 

錯誤是小區的一個是一個字符串,不能轉換成浮動

+0

['continue'] (https://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops)? – ozgur

+2

'try'不是函數 – donkopotamus

回答

1

你想要的東西,如:

for row in csv_file: 
    try: 
     x = float(row['Close Ask']) - float(row['Close Bid']) 
    except ValueError: 
     continue 
    else: 
     # now keep going doing something with x 
     ... 
+0

是的,它的工作原理。非常感謝@donkopotamus – duckman

0

您可以通過捕獲的錯誤,類型(ValueError),並有效地忽略它忽略的錯誤:

try: 
    row['BAS'] = float(row['Close Ask']) - float(row['Close Bid']) 
except ValueError: 
    pass 
0

你應該把你的代碼一試內/除外:

try: 
    code 
except: 
    pass 

(你不應該使用如此廣泛的異常捕獲,但我不知道正在發生的錯誤。)