如何使用python跳过空列

时间:2013-05-31 09:34:01

标签: python

这一定是非常基本的,但经过一番搜索后我还没有找到答案。

我在列表中进行迭代,其中某些列中包含值,有些列为空。如果列为空,我希望代码跳过该行。这就是我所拥有的:

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: ''

3 个答案:

答案 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