別のファイルの内容を使用して1つのファイルの内容をサブセット化しようとしています。 file1が行ごとに単一の値が含まれています別のファイルの内容に基づく1つのファイルのサブセットの内容
43 48
43 54
44 12
88 55
101 31
101 56
101 61
Iの内容に基づいて、ファイル2の内容をフィルタリングしたい:
43
44
101
File2のラインごとに2つの値が含まれて、値は、単一のスペースで分離されていますFile2の任意の行の最初の値がFile1の任意の値と一致する場合、File2からの行が新しいファイルに出力されるように、File1の値が変更されます。 File2の一部の行は新しいファイルに含まれてはいけません(値はFile1には存在しません)。また、File1の値の中にはFile2に複数のエントリがあります。出力は次のようになります。
43 48
43 54
44 12
101 31
101 56
101 61
私はこの作業のためにPythonで作業しようとしています。私は、この言語には比較的新しいですが、ここで私がこれまで試してみました何のいくつかは次のとおりです。このコードを機能させる方法について
output=open("new_file.txt","a")
for i in file2:
key="%s" % (i.split()[0])
if key in file1:
output.write(i)
任意のアドバイスはありますか?ありがとう!
ヒント:最初にfile1をロードし、データをO(1)ルックアップ(おそらくセットまたはディクショナリ)に入れ、file2の各行に対して(1)スペースを空けて行を分割し、あなたのセット/辞書にあります、(3)そうなら、出力ファイルに書きます。 –