私は、2つのファイルの間の連鎖比較を行い、指定された間隔であれば結果を出力します。Pythonのチェインの間隔の比較
これはこれまで私が行ってきたことです。
test1のファイル:
A0AUZ9,7,17 #just this one line
テスト2ファイル:
A0AUZ8, DOC_PP1_RVXF_1, 8, 16, PF00149, O24930
A0AUZ9, LIG_BRCT_BRCA1_2, 127, 134, PF00533, O25336
A0AUZ9, LIG_BRCT_BRCA1_1, 127, 132, PF00533, O25336
A0AUZ9, DOC_PP1_RVXF_1, 8, 16, PF00149, O25685
A0AUZ9, DOC_PP1_RVXF_1, 8, 16, PF00149, O25155
そして、スクリプト自体:
results = []
with open('test1', 'r') as disorder:
for lines in disorder:
cells = lines.strip().split(',')
with open('test2', 'r') as helpy:
for lines in helpy:
blocks = lines.strip().split(',')
if blocks[0] != cells[0]:
continue
elif cells[1] <= blocks[2] and blocks[3] <= cells[2]:
results.append(blocks)
with open('test3','wt') as outfile:
for i in results:
outfile.write("%s\n" % i)
私の優先出力のみTEST3の行を持っているだろう、その:
は、列3と4で2つの数値が、私は何も出力を取得していないtest1のファイルに
を与えられた値の間にある、と私はそれが間違ってどこに行くかわからないんだけど、最初の列に
をIDが一致しています。
ファイルはソートされていますか? –
はい、最初の列のIDの名前(アルファベット順) –
ここにはスペースの問題があります。 strip()は、文字列内のスペースではなく、先頭と末尾のスペースのみを削除します。スペースを完全に無視できる限り、replace( ""、 "")はその点で役立ちます。 – Deneb