python对比两个大数据集文件,输出增量数据

#! /usr/bin/env python3.9
#--*-- coding:utf-8 --*--

#
创建一个集合存储b文件中的电话号码 phone_numbers_b = set() with open('b.txt', 'r') as file_b: for line_b in file_b: phone_number_b = line_b.strip() #去除每行的特殊字符 phone_numbers_b.add(phone_number_b) #读取的每一行数据加到内存中,会消耗大量内存 # 对比a文件中的电话号码,并输出增量数据 with open('a.txt', 'r') as file_a, open('output.txt', 'w') as output: for line_a in file_a: phone_number_a = line_a.strip().split()[1] #假设电话号码在a文件的第2列 if phone_number_a not in phone_numbers_b: output.write(line_a) print("增量数据已输出到output.txt文件")

脚本思路:
有两个大数据集的文件,每个文件上亿行,a文件只存储电话号码,b文件第二列存储电话号码,
通过电话号码比对,b文件号码不在a文件时就输出b文件当前行的内容。需要大量内存

 

posted @ 2023-10-31 17:30  菜菜陈  阅读(68)  评论(0)    收藏  举报