python高效查找2个文件相同字段并输出相应行
a.txt:1dd2ff...b.txt:3ff4ff2gg...目标输出:2ff2gg尝试用for循环嵌套,能实现但效率太低。每个文件都有上百万行,请问有什么高效办法。...
a.txt:
1 dd
2 ff
...
b.txt:
3 ff
4 ff
2 gg
...
目标
输出: 2 ff 2 gg
尝试用for循环嵌套,能实现但效率太低。每个文件都有上百万行,请问有什么高效办法。 展开
1 dd
2 ff
...
b.txt:
3 ff
4 ff
2 gg
...
目标
输出: 2 ff 2 gg
尝试用for循环嵌套,能实现但效率太低。每个文件都有上百万行,请问有什么高效办法。 展开
展开全部
fd = {}
for l in open('a.txt', 'r'):
ar = l.split(' ')
if len(ar) == 2:
fd[ar[0]] = ar[1]
with open('out.txt', 'w') as fw:
for l in open('b.txt', 'r'):
ar = l.split(' ')
if len(ar) == 2:
if ar[0] in fd:
fw.write(' '.join([ ar[0],fd[ar[0]].strip('\n'),ar[0],ar[1]]))
print('ok')
你试试吧 性能应当还可以,百万的数据量的话不会超过一分钟
追问
如果每个文件有若干个字段,只需要匹配其中一个字段,最终输出2个文件匹配字段的所有内容,也可以用同样的方法吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询