2014-10-27 47 views
-1

我有一个文本文件,它有12列和大约68000行。比较同一文本文件中的两列

我想比较两列2和12以符合条件如果column2 < = column12然后把整行或行放在一个新的文本文件中。 或者如果column2> column12,则删除整行或行。

在此先感谢。

+1

您想了解一些'awk'。 – 2014-10-27 10:21:09

回答

1

使用numpy的

import numpy as np 
data = np.loadtxt("filename.txt") 
np.savetxt("new_filename.txt",data[data[:,1]==data[:,11],:]) 

您也可以通过一个分隔符作为一个参数传递给函数np.loadtxt("filename.txt", delimiter=","),逗号在这种情况下。对于savetxt

有兴趣的同一作品, 干杯

+0

new_filename.txt为空,因为您保存了具有column1 = column11值的行,但没有。但是,我想获取条件column1 = user2154410 2014-10-28 13:45:13

+0

尝试'<=',因为'= <'不是有效的条件运算符。 – mrcl 2014-10-28 21:58:35

+0

非常感谢它现在正在工作。在这种情况下,我在文件中有一些字符串列,我用np.genfromtxt读取它,并将dtype = object并将fmt ='%s'添加到np.savetxt中,但是这会将读取文件的结果作为float读取。什么是错误? – user2154410 2014-10-29 21:43:44