我有一个在普通编程意义上微不足道的问题,但是我想找到另一个解决方案来使用一些python技巧来做到这一点,如果可能的话。基于多列的过滤文本文件
我有一个文本文件如下:
A1 1 5 g1_0 10
A1 6 8 g2_0 13
A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19
我想要做的是过滤文本文件以下列方式: 当我有“_0”或“_1”或“_2”在第4列中,我想检查第5列。如果第5列有最高数字,我想用“_”除去所有其他数字,只保留分数较高的数字。
PS:我想保留最高分的那一列,对于第4列的每个值。例如,在这种情况下,这些值将保持不变,它不是全部反对所有比较,而是每对或三元组具有“_0 “‘_1’,‘_2’应单独相比,得分最高:
A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19
反正是有做到不循环了很多?
答案是肯定的大熊猫... – YXD 2013-03-25 11:11:35
你需要保持秩序w.r.t. 'g',还是输出可以在'g1_1,g2_1,g3,...'命令中? – DSM 2013-03-25 11:41:23
@DSM的顺序并不重要.. – ifreak 2013-03-25 12:37:09