我想过滤出具有与其他文件的值匹配的特定值的行。我会很感激的帮助。在某些条件下过滤出行
我的数据是这样的:
文件1:
Group Position Code Answer c1 c2 c3 c4
1 3 s1_60 A etc etc etc etc
2 4 s2_63 T etc2_ etc2 etc2/ etc2'
3 5 s1_23 A etc3 etc3 etc3* etc3
3 51 s7_52 T etc4 etc4_ etc4 etc4^
文件2:
>1
ATGCGCGCGCGCGATATATTGCTGATATATATGCCTTttaagatcaatat
tattagccccatgtgttgaagaacaaatctctctgttaaacagaaattgg
gggggaaaataaacaggggggcaaataattctgactacaattgtatatat
ggatatattGCGCGCGCGCGAGAGAGAGAGAtgtgttgtagataGACGAG
>2
tattagccccatgtgttgaagaacaaatctctctgttaaacagaaattgg
gggggaaaataaacaggggggcaaataattctgactacaattgtatatat
ggatatattGCGCGCaaaaaaGAGAGAGAGAGAtgtgttgtagataGACG
>3
tattagccccatgtgttgaagaacaaatctctctgttaaacagaaattgg
gggggaaaataaacaggggggcaaataattctgactacaattgtatatat
ggatatattGCGCGCGCGccggcgcgcgAGAtgtgttgtagataGACGAG
'组' 是指号码后 '>' 上 '文件2',而“位置'指的是指定组别下的信件位置。我只想保留'Answer'列中'File2'的匹配字母的行。
因此,输出应该是这样的:
newOutput:
Group Position Code Answer c1 c2 c3 c4
2 4 s2_63 T etc2_ etc2 etc2/ etc2'
3 5 s1_23 A etc3 etc3 etc3* etc3
3 51 s7_52 T etc4 etc4_ etc4 etc4^
在 '文件1' 的第一行不包括在内,因为它有 'A',而不是 'K'
我将不胜感激任何帮助。我正在考虑从awk或python开始。我从来没有组织涉及多个文件的数据,所以这对我来说有点令人沮丧。请建议我。
它说: d [group] = line.strip() NameError:name'line'未定义我做错了什么? – user3557715 2014-11-03 06:18:53
@ user3557715:哎呀!对于那个很抱歉。现在修复了 – inspectorG4dget 2014-11-03 06:23:08
谢谢!我也注意到了它。但我有另一个问题。 on“group = int(group [1:]。strip())”我认为它对不以“>开头的线条进行分条”。它显示类似于“ValueError:无效文字为int()与基地10:'ALKFEKSSGESDGASHSDG'”有什么办法我可以适用于只有朝着以'>'开头的? – user3557715 2014-11-03 06:27:29