关于python:两个文件求差集

在平时的做业务需要时会遇到这样一种状况,有两份文件A和B,存的是用户账号,须要在A文件中剔除B文件中已存在的账号,这种状况下应该如何解决呢?

个别这种状况下会抉择采纳脚本语言解决,比方shell或者python。接下来介绍两种语言的解决办法:

例:

文本A:

aaa
bbb
ccc
111
222

文本B:

bbb
ccc
111

1.采纳awk

$awk 'NR==FNR{ a[$1]=$1 } NR>FNR{ if(a[$1] == ""){ print $1}}' B A 

后果:

aaa

222

2.采纳python

#!/usr/bin/python
# -*- coding: utf-8 -*- 

import os

src = []
screen_data = []
dest_data = []

#原数据
for line in open("src.txt"):
    src.append(line.strip())

#筛选名单
for line in open("screen_data.txt"):
    screen_data.append(line.strip())

#指标数据    
for data in src:
    if data in screen_data:
        print data
        
print len(dest_data)

#导出到文件
with open("dest_data.txt","w") as f:
    for data in dest_data:
        f.write(data + '\n')

后果:

aaa

222

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理