考虑到两个文件,表单的一个包含项目:关于处理大文件的建议 - python或命令行?
label1 label2 name1
label1 label3 name2
和其他形式的:
label1 label2 name1 0.1 1000
label9 label6 name7 0.8 0.5
假设你要提取的文件其中的两个线,其前三个元素在文件一中出现一行(重要的顺序) - 关于这可能如何迅速圆顶的任何建议?
从给定的上述采样数据将是任何这样的脚本的输出文件:
label1 label2 name1 0.1 1000
我玩弄蟒:
inp = open(file1.txt, 'r')
look_up = [i.split() for i in inp.readlines()]
inp.close()
inp = open('file2', 'wt')
holder = []
line = inp.readline()
while line:
line = line.split()
if [line[0], line[1], line[2]] in look_up:
holder.append(line)
line = inp.readline()
然而这似乎需要一段时间。这些文件相当大。
谢谢!
“相当大”有多大?兆?千兆字节?兆兆字节? –
我很想知道你的长期尝试是否能够在你写下这个问题并获得答案的时间内完成。对于一次性问题,最简单的解决方案通常是最好的,即使它不是最优的。 –
@马克 - 我长时间运行的尝试被分成16个作业并放在一个集群上。 6小时后还在跑步! Eeek! –