Python 跳过for循环中的错误行

Python 跳过for循环中的错误行,python,loops,error-handling,skip,Python,Loops,Error Handling,Skip,我遍历csv文件中的每一行,并仅选择/计算满足条件的行。但是,当一行中出现错误时,它会停止循环。有没有办法告诉python跳过错误并移到下一行?我使用了try功能,但不起作用。我的代码是 try(row['BAS'] = float(row['Close Ask']) - float(row['Close Bid'])) 如果单元格是字符串且无法转换为浮点值,则该错误是其中之一。您可以通过捕获该类型的错误(ValueError)并有效忽略该错误来忽略该错误: try: row['BAS

我遍历csv文件中的每一行,并仅选择/计算满足条件的行。但是,当一行中出现错误时,它会停止循环。有没有办法告诉python跳过错误并移到下一行?我使用了
try
功能,但不起作用。我的代码是

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

如果单元格是字符串且无法转换为浮点值,则该错误是其中之一。您可以通过捕获该类型的错误(
ValueError
)并有效忽略该错误来忽略该错误:

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

你想要的是:

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
        ...

您应该将代码放在try/except中:

try:
    code
except:
    pass

(您不应该使用如此广泛的异常捕获,但我不知道正在发生的错误。)

try
不是一个函数