通过正则表达式查找特定列值

时间:2016-09-02 19:57:58

标签: python regex

我有一个包含多行的txt文件,如下所示。

56.0000         3       1
62.0000         3       1
74.0000         3       1
78.0000         3       1
82.0000         3       1
86.0000         3       1
90.0000         3       1
94.0000         3       1
98.0000         3       1
102.0000        3       1
106.0000        3       1
110.0000        3       0
116.0000        3       1
120.0000        3       1

现在我正在寻找第三列中有'0'的行。

我正在使用python regex包。我试过的是re.match("(.*)\s+(0-9)\s+(1)",line),但没有帮助..

我应该寻找的正则表达式模式应该是什么?

2 个答案:

答案 0 :(得分:2)

你可能不需要正则表达式。您可以从该行的右侧剥离尾随空格,然后检查最后一个字符:

if line.rstrip()[-1] == "0": # since your last column only contains 0 or 1
   ...

答案 1 :(得分:1)

只需从列表中拆分行和读取值。

findViewById

<强>要点:

>>> line = "56.0000         3       1"
>>> a=line.split()
>>> a
['56.0000', '3', '1']
>>> print a[2]
1
>>>

输出:

f = open("sample.txt",'r')
for line in f:
    tmp_list = line.split()
    if int(tmp_list[2]) == 0:
        print "Line has 0"
        print line
f.close()