Python 打印具有给定值的行

Python 打印具有给定值的行,python,Python,我试图用python运行一些简单的代码来读取文本文件,并只打印最后一列中具有特定值的行 这是文本文件: 234 324 4 124 35 5 13 434 7 34 465 1 41 46 2 25 62 2 我尝试的代码是 data = np.loadtxt('SelectValueTest.txt') line = range (0,5) for line in data: for n in data[:,2]: if n ==1: pr

我试图用python运行一些简单的代码来读取文本文件,并只打印最后一列中具有特定值的行

这是文本文件:

234 324 4
124 35 5
13 434 7
34 465 1
41 46 2 
25 62 2
我尝试的代码是

data = np.loadtxt('SelectValueTest.txt')

line = range (0,5)
for line in data:
    for n in data[:,2]:
        if n ==1:
            print line 
我知道我需要更改打印行位,因为这只是打印每一行,如果其中任何一行包含值1,但我不确定要放什么


很抱歉问了一个很基本的问题!我只是刚开始努力掌握它的窍门

所以,现在的情况是,您在任何地方打印任何包含1的行

更好的解决方案是使用cvs reader阅读,如下所示:

with open(file, 'rb') as csvfile:
    data= csv.reader(csvfile, delimiter=' ')
    for line in data:
        if line[-1] ==1:
            print line 

所以,所发生的是,你正在打印任何一行,其中包含一个1,在任何地方

更好的解决方案是使用cvs reader阅读,如下所示:

with open(file, 'rb') as csvfile:
    data= csv.reader(csvfile, delimiter=' ')
    for line in data:
        if line[-1] ==1:
            print line 

只需在空格中拆分每一行,并检查获得的列表的最后一个元素是否等于所需的值:-

with open('SelectValueTest.txt', 'rb') as data:
    for line in data:
        if line.strip().split(" ")[-1] == '1':
             print line 

只需在空格中拆分每一行,并检查获得的列表的最后一个元素是否等于所需的值:-

with open('SelectValueTest.txt', 'rb') as data:
    for line in data:
        if line.strip().split(" ")[-1] == '1':
             print line 
将打印出以1结尾的所有行。您需要条带删除行末尾的换行符等。这将适用于您向我们展示的数据。但是,如果在行尾有两个或更多数字的值,则需要使用Rohit的方法

迈克

将打印出以1结尾的所有行。您需要条带删除行末尾的换行符等。这将适用于您向我们展示的数据。但是,如果在行尾有两个或更多数字的值,则需要使用Rohit的方法


Mike

数据变量中实际包含什么?告诉我们,数据变量中到底是什么?告诉我们。请记住,只有当行以一位数结尾时,这才有效。如果它们以>9结束,这将产生一个不正确的结果。完全正确。我编辑这篇文章是为了说明这一点。但这对显示的数据有效。请记住,只有当行以一位数结尾时,这才有效。如果它们以>9结束,这将产生一个不正确的结果。完全正确。我编辑这篇文章是为了说明这一点。但这将适用于显示的数据。感谢所有的答案!我试着使用这个解决方案,但我得到了一个错误:对象没有“split”属性,而且,如果它有任何区别,这个文件只是我用来测试代码的一个快速文件,而不是在我以后需要使用的大文件上运行它。我搜索的列是倒数第二列,那么在这种情况下,我会把[-1]改为[-2]吗?我意识到这可能是有点跳跃,因为我甚至不能计算出这一点!对不起,我上次按回车键太快了comment@user1841859.. 那代码不完整。我假设您从数据中一行一行地读取行内变量。我假设其中的数据是文件引用。因此,您的行应该包含字符串。您可以在其上调用拆分函数。@user1841859。。请发布你到底在搜索什么。最后一栏还是最后一栏?谢谢你的回答!我试着使用这个解决方案,但我得到了一个错误:对象没有“split”属性,而且,如果它有任何区别,这个文件只是我用来测试代码的一个快速文件,而不是在我以后需要使用的大文件上运行它。我搜索的列是倒数第二列,那么在这种情况下,我会把[-1]改为[-2]吗?我意识到这可能是有点跳跃,因为我甚至不能计算出这一点!对不起,我上次按回车键太快了comment@user1841859.. 那代码不完整。我假设您从数据中一行一行地读取行内变量。我假设其中的数据是文件引用。因此,您的行应该包含字符串。您可以在其上调用拆分函数。@user1841859。。请发布你到底在搜索什么。最后一列还是第二列?