#! /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文件当前行的内容。需要大量内存