我想過濾出具有與其他文件的值匹配的特定值的行。我會很感激的幫助。在某些條件下過濾出行
我的數據是這樣的:
文件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