こんにちは私はPythonには初めてです。私があなたを助けてくれることを願っています。私は、対応するrs番号といくつかの距離の測定値を持つ遺伝子番号のデータを持つテキストファイル(data.txtと呼ぶ)を持っています。Pythonでテキストファイルから文字列を抽出する2.7.5
最初の列は、RSの数であるrs1982171 55349 40802
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
、2番目の列は遺伝子の数であり、3番目の列は、いくつかの距離の尺度である:データは次のように見えます。データははるかに大きいですが、上記のデータセットのアイデアを得ることができれば幸いです。私がしたいのは、特定の遺伝子に対応するすべてのrs番号を見つけることです。例えば、上記のデータセットの場合、遺伝子55902 = {rs6088650、rs1013677}。理想的には、自分のコードが与えられた遺伝子に対応するすべてのrs番号を見つけるようにしたい。
import re
data=open("data.txt","r")
for line in data:
line=line.rstrip()
if re.search("55902",line):
print line
このコードの問題が出力されていることである:私は私が代わりにdata.txtをファイルに文字列「55902」を含む行を与える短いコードを書いた今、それを行うことができませんので、
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
rs番号の文字列 "55902"を無視するようにします。私は上記のコードを変更するにはどうすればよい
rs6088650 55902 38550
rs1013677 55902 0
:遺伝子数は55902.私は私の出力がなりたいではないので、他の言葉では、私は出力しないように上記の出力の2行目を私のコードを実行します私が望むものを達成する。どんな助けもありがとう。前もって感謝します。
としてワード境界
\b
とともにmatch
またはsearch
を使用することができますおそらくあなたのすべてのデータを['pandas'](http://pandas.org)' DataFrame'に入れてそこで分析する方がずっと良いでしょう。 – MattDMo提案していただきありがとうございます! –