2014-10-27 30 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