我正在迭代csv文件中的每一行,只选择/计算满足条件的行。但是,当连续出现错误时,它会停止循环。有没有办法告诉python跳过错误并移动到下一行?我使用try
函数但没有用。我的代码是
try(row['BAS'] = float(row['Close Ask']) - float(row['Close Bid']))
错误是其中一个单元格是一个字符串而无法转换为浮点数
答案 0 :(得分: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
...
答案 1 :(得分:0)
您可以通过捕获该类型的错误(ValueError
)来忽略该错误,并有效地忽略它:
try:
row['BAS'] = float(row['Close Ask']) - float(row['Close Bid'])
except ValueError:
pass
答案 2 :(得分:0)
你应该把你的代码放在try / except:
中try:
code
except:
pass
(你不应该使用如此广泛的例外,但我不知道发生的错误。)