Python 3.x Unix或Python3。检索以“开始”开头的所有列;";

Python 3.x Unix或Python3。检索以“开始”开头的所有列;";,python-3.x,unix,Python 3.x,Unix,我有一个6GB的文件,大约有1000行和4000000列。格式如下: ID SEX PV APV N_rs1982983 E_rs1982983 N_rs95645 E_rs95645 1 0 45.2 11.1 0 2 0 1 2 1 34.4 10.8 1 1 1 1 使用unix或Python3,我想检索所有以字符串“N_”开头的列。第3-4列有浮点数,其余列有整数。400万列似乎很疯狂,但假设您有足够的可用内存,这个perl一行代码就可以了(对不起,我不懂python): $perl

我有一个6GB的文件,大约有1000行和4000000列。格式如下:

ID SEX PV APV N_rs1982983 E_rs1982983 N_rs95645 E_rs95645
1 0 45.2 11.1 0 2 0 1
2 1 34.4 10.8 1 1 1 1 

使用unix或Python3,我想检索所有以字符串“N_”开头的列。第3-4列有浮点数,其余列有整数。

400万列似乎很疯狂,但假设您有足够的可用内存,这个
perl
一行代码就可以了(对不起,我不懂python):

$perl-lane'if($.==1){
$, = " ";
对于(0..$#F){
如果$F[$\u]=~/^ N,则按@cols,$\u_/
}
}
打印@F[@cols]'input.txt
N_rs1982983 N_rs95645
0 0
1 1

基本上,由于
-a
的缘故,它将每一行拆分为空格上的列,如
awk
,并将其拆分为数组
@F
。在第一行,它构建了一个所有列的索引列表,以
N\uu
开头,并且只打印出所有行的那些列。

这些列是分开的还是空格?Hi@Shawn,spaceHi@Shawn,但是我可以将这个巨大的文件拆分为22个,保留每个行中的前4列(ID SEX PV APV)对于每个单独的文件都是相同的。