龙空技术网

用python轻松求百万数据交集,秒杀EXCEL

蚊子不游戏 2053

前言:

当前兄弟们对“python计算交集”大体比较关切,我们都想要剖析一些“python计算交集”的相关内容。那么小编在网上网罗了一些有关“python计算交集””的相关资讯,希望大家能喜欢,看官们快快来学习一下吧!

工作中经常需要求二份数据的交集(即二份数据中的相同部分),如果是几千几万条数据,我们用EXCEL可以搞定(在EXCEL中可以使用VLOOKUP函数对二列数据进行对比,然后筛选出相同的内容),用时也不会太长。

python 数据 交集

但如果数据有几十万条,用EXCEL处理就相当慢了(如果你有耐心,当然可以这样做),如果数据是几百万条,EXCEL是无法处理的,你可能会想到,我用UE也可以处理啊(当然可以,但需要一些小技巧,而且你得有UE这个软件,这个软件并不便宜)。

好了,用python,免费,快速处理百万甚至千万数据取交集,只在眨眼之间(有点夸张,但时间绝对够短),第一篇头条文章,源代码免费分享给大家,喜欢的加关注,后续还有更精彩的分享.

下面的代码完美实现二个文本文档A.TXT与B.TXT取交集并输出C.TXT,输出的C.TXT包含二个文本文档中的重复数据。enjoy it!

# -*- coding:UTF-8

# 作者:aovs 2018-03-07

# Python 版本:3.6.4

# 本代码实现将a.txt、b.txt二个文本文件取交集后输出c.txt文档,输出的文档数据无序。

# 将a.txt创建为列表

print ('本程序实现将a.txt、b.txt二个文本文件取交集后输出c.txt文档,输出的文档数据无序。')

print ('请确定你的Python版本不低于3.6.4,a.txt和b.txt文件已经准备就绪。')

lista = [] # 创建空列表lista

fa = open('A.txt',encoding='utf-8') # 打开a.txt

for line in fa.readlines():

lista.append(line.replace('\n','\n')) #将fa中的每一行数据添加到lista列表中

# 将b.txt创建为列表

listb = [] # 创建空列表listb

fb = open('B.txt',encoding='utf-8') # 打开a.txt

for line in fb.readlines():

listb.append(line.replace('\n','\n')) #将fb中的每一行数据添加到listb列表中

x = set(lista) # 将lista去重后赋给x

y = set(listb) # 将listb去重后赋给y

c = x & y # x、y取交集

fc = open('交集数据.txt', 'w',encoding='utf-8') # 创建或打开'C.TXT'

fc.writelines(c) # 将交集数据写入'c.TXT'

fc.close() # 搞定,收工。

print ('正在处理数据……请稍候')

print ('交集数据为 %d' % len(c))

print ('搞定,打开a.txt同文件夹下的\'交集数据.txt\'查看结果。')

标签: #python计算交集