ファイル 1 からファイル 2 の名前を検索し、一致した行にいくつかのデータをマージしようとしています
ファイル1:
A 28 sep 1980
B 28 jan 1985
C 25 feb 1990
D 27 march 1995
と file2
A hyd
B alig
C slg
D raj
これを使用して:
import sys
data1 = open(sys.argv[1]).read().rstrip('\n')
data2 = open(sys.argv[2]).read().rstrip('\n')
list1 = data1.split('\n')
list2 = data2.split('\n')
for line in list1:
for item in list2:
if line.split('\t')[0] in item.split('\t')[0]:
print(item,'\t',line.split('\t')[3])
結果:
A hyd 1980
B alig 1985
C slg 1990
D raj 1995
2 つの質問 (概念を明確にするため):
1 - file2 の行の順序を変更すると、一致する数が少なくなることを期待していましたが、それでもすべての一致が得られます。なんで?
2- このプログラムは目的を果たしますが、メモリ効率はどれくらいでしょうか? 提案してください。
ありがとう