这一定是非常基本的,但经过一番搜索后我还没有找到答案。
我在列表中进行迭代,其中某些列中包含值,有些列为空。如果列为空,我希望代码跳过该行。这就是我所拥有的:
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 :(得分: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"
答案 1 :(得分:0)
如果您处于for循环中并希望跳过当前项,只需执行continue
并执行将跳转到for循环中的下一项。
(或者,什么都不做。然后执行将流向下一个循环的开始。)
答案 2 :(得分:0)
try:
age = int(c_nainen[8])
except ValueError:
continue