我正在尝试从文件 2 中的文件 1 中搜索名称并在匹配的行上合并一些数据
文件1:
A 28 sep 1980
B 28 jan 1985
C 25 feb 1990
D 27 march 1995
和文件2
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
两个问题(用于澄清概念):
1 - 我希望如果我更改 file2 中的行顺序,我应该得到更少的匹配项,但我仍然得到所有匹配项。为什么?
2-虽然这个程序可以达到目的,但它的内存效率如何?请建议。
谢谢