python学习收藏夹生信Python

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)

A.txt B.txt 文件下载

上一篇下一篇

猜你喜欢

热点阅读