Python获得两个文件的交集、并集、差集
2019-10-22 本文已影响0人
wangsb_2020
根据文件中的某一列信息比较A.txt和B.txt两个文件的差异
主要获得以下信息:
1.存在于A文件,不存在于B文件中的行
2.A,B两个文件中都存在的行
3.A与B的并集
#读入文件
afile = open('A.txt', 'r')
bfile = open('B.txt', 'r')
#预定义数据集
aset=set()
bset=set()
adict={}
bdict={}
#处理数据
for aline in afile.readlines():
a = aline.split('\t')
aset.add(a[0])
adict[a[0]]=aline[:-1]
for bline in bfile.readlines():
b = bline.split('\t')
bset.add(b[0])
bdict[b[0]]=bline[:-1]
#a中包含b中不包含
for x in aset-bset:
print(adict[x])
#a与b的交集
for x in aset & bset:
print(adict[x])
#a或b中包含的所有
for x in aset | bset:
print(x)
#不同时包含于a和b的
for x in aset ^ bset:
print(x)