跳过for循环中的错误行

2024-06-11 06:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

错误之一是单元格是字符串,无法转换为浮点


Tags: 文件csv函数字符串代码close错误float
3条回答

你想要这样的东西:

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中,除非:

try:
    code
except:
    pass

(您不应该使用如此广泛的异常捕捉,但我不知道发生了什么错误。)

{1>可以有效地忽略错误(^)的错误:

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

相关问题 更多 >