私は 2 つのテキスト ファイルを持っています。1 つは識別子のリストを含み、もう 1 つはさらに多くの識別子のリストと、必要なその他の情報を含んでいます。私がやりたいことは、ファイル 1 と 2 の識別子を比較し、それらが一致する場合、ファイル 2 の行を新しいファイル、ファイル 3 に書き込むことです。
これが私が持っているものです(リストに取り掛かり、プログラミングでそこまで到達したことがないので、少し奇妙です):
def identify(MOPED_Prot, Swiss_Prot, MOPED_to_Swiss):
Swiss = open(Swiss_Prot, 'r')
M = open(M_Prot, 'r')
output = open(M_to_Swiss, 'wt')
Swissids = []
ids = []
for line in M.readlines():
ids.append(line[:5])
for line in Swiss.readlines():
Swissids.append(line)
while set(ids)& set(Swissids):
output.write(#line? Not sure what goes here + "\n")
これに似たコードとの交差点ごとに、「Swiss」からの行の1つを新しいファイルに書き込むコードを取得しましたが、1行しか繰り返されませんでした。正直なところ、私が混乱しているのは終わりです。
編集:要求に応じて、ファイルは次のようになります
ファイル 1:
B4E035
P23946
O00376
D6RGF3
B2RDK6
Q12999
Q8TDD2
B2RDC9
C9JL66
Q9NZQ9
ファイル 2:
P31946 1433B_HUMAN YWHAB
P62258 1433E_HUMAN YWHAE
Q04917 1433F_HUMAN YWHAH YWHA1
P61981 1433G_HUMAN YWHAG
P31947 1433S_HUMAN SFN HME1
最初の列の識別子のいずれかが一致する場合、ファイル 3 はファイル 2 の行を出力する必要があります (長さはすべて 6 文字です)。