使用Python或Map Reduce从BIG文件中删除不需要的记录

时间:2018-10-08 20:55:56

标签: python file mapreduce compare bigdata

我在源文件中有3700万条记录,但目标只有3000条记录,我想删除其他记录,只需要这3000条记录。 Python中最快的解决方案吗?

1 个答案:

答案 0 :(得分:0)

由于您未提供任何示例数据,因此我无法确定删除不需要的内容还是保留所需的内容是否更容易。无论如何,我只是测试了以下脚本,因此对我来说很好用。

with open("C:\\path_here\\test.txt","r+") as f:
    new_f = f.readlines()
    f.seek(0)
    for line in new_f:
        if "return_3y" in line:
            f.write(line)
    f.truncate()

在5MB的文件上,只花了一秒钟即可完成工作。对于您的37MB文件,我想这将需要几秒钟来完成所有操作。还不错...