python删除两个excel表中的相同元素_python筛选出两个文件中重复行的方法
'''
查找A文件中,与B文件中内容不重复的内容
'''
#!usr/bin/python
import sys
import os
'''
字符串查找函数,使用二分查找法在列表中进行查询
'''
def binarySearch(value, lines):
right = len(lines) - 1
left = 0
a = value.strip()
while left <= right:
middle = int((right + left + 1)/2)
b = lines[middle].strip()
if a == b:
return 1
if a < b:
right = middle - 1
else:
left = middle + 1
return 0
DPT = 100000 # DPT 是Data Per File的意思
fileAName = sys.argv[1];
fileBName = sys.argv[2];
#STEP1:先拆掉B文件,作为比较基准,临时文件命名为temp1,temp2,...,tempN
print("拆分比对文件...\n")
fB = open(fileBName)
tempFileNo = 1
tempFileName = "temp{0}".format(tempFileNo)
fTemp = open(tempFileName, "w+")
line = fB.readline()
lineCount = 0
while line:
if lineCount >= DPT:
fTemp.flush()
fTemp.close()
tempFileNo = tempFileNo + 1
tempFileName = "temp{0}".format(tempFileNo)
fTemp = open(tempFileName, "w+")
lineCount = 0
fTemp.write(line)
lineCount = lineCount + 1
line = fB.readline()
fTemp.flush()
fTemp.close()
fB.close()
print("拆分完成,一共{0}个临时文件,{1}条数据。\n".format(tempFileNo, (tempFileNo-1)*DPT + lineCount))
#STEP2:把A文件与B文件拆出来的临时文件逐个进行比较,将结果轮流写入文件result0, result1
# 最后写入的result文件就是最终结果
fA = open(fileAName)
resultTempFile = {"result0", "result1"};
tempIndex = 0
fOut = open("repeat", "w+")
repeatCount = 0
for i in range(1, tempFileNo + 1):
print("比较第{0}个临时文件...\n".format(i))
if 0 == tempIndex:
resultTempFile = "result0"
tempIndex = 1
else:
resultTempFile = "result1"
tempIndex = 0
fResult = open(resultTempFile, "w+")
fTemp = open("temp{0}".format(i))
lineSet = fTemp.readlines()
fTemp.close()
lineList = list(lineSet)
lineList.sort()
line = fA.readline()
while line:
if 0 == binarySearch(line, lineList):
fResult.write(line)
else:
fOut.write(line)
repeatCount = repeatCount + 1
line = fA.readline()
fA.close()
fResult.flush()
fResult.close()
fA = open(resultTempFile)
fA.close()
fOut.flush()
fOut.close()
print("比较完成,重复数据{0}条".format(repeatCount))
os.rename(resultTempFile, "result")
#STEP3:结束后把临时文件都删掉
print("删除临时文件...\n")
while tempFileNo > 0:
tempFileName = "temp{0}".format(tempFileNo)
os.remove(tempFileName)
tempFileNo = tempFileNo - 1
print("脚本结束。\n")
python删除两个excel表中的相同元素_python筛选出两个文件中重复行的方法相关推荐
- python查找两个数组中相同的元素_找出两个数组的相同元素,最优算法?
在做新旧接口交替过程中,遇到了老接口和新接口json数据有些不一致的情况,需要比较两个json对象,把相同的元素赋其中一个json对象中变量的值.而且其中一个json最后输出格式还需要改变下属性名,思 ...
- python找出两个列表不同元素_python 找出两个列表的相同元素与不同元素
python 找出两个列表的相同元素与不同元素,用了以下几种方法 1. 通过set 集合 list1 = [1,2,3] list2=[2,3,4] set1 = set(list1) set2 = ...
- python两个表格相同数据筛选_python筛选出两个文件中重复行的方法
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- Excel如何实现两个工作表数据的对比,比较两个Excel表,两个表格对比 的绿色工具
两个不同的EXCEL表格如何进行排序对比,两个Excel表如何比较一样不一样 如何比较两个excel,使用这个工具:http://www.excelfb.com/ 点击: 表对齐比较--> 比 ...
- Python操作两个Excel表,筛选出新增和已删除的条目
今天实习收到了一个任务,手头有两个excel表,分别是4月份和五月份的两份资料,需要找出五月份excel和四月份相比较被删除和新增的条目.(他们事业单位平时都是人工处理这些任务,几百个条目这得校对到什 ...
- python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...
- python对比excel两列数据_python 对比excel表格数据表-python实现两个excel表列数据对比若源表与目标表存......
在数据分析方面,比起python,excel的局限性在哪 data3 = pandas.merge(data1, data2, on=['名称'], how='inner') inner:内连接,取交 ...
- python合并多个excel表到一张表中(有表头)
python合并多个excel表到一张表中:需要合并的表格每个表头相同 代码: ------------------------ # 下面这些变量需要您根据自己的具体情况选择 biaotou = [' ...
- Python xlwt,xlrd对Excel表求笛卡尔积
Python xlwt,xlrd对Excel表求笛卡尔积 应用背景 待处理的Excel表单模版 处理后导出的Excel效果 具体代码实现 应用背景 前些日子,在项目中遇到多级分类合并问题,每一级分类格 ...
最新文章
- Webwork 学习之路(四)Configuration 详解
- 好好学python·运算符和流程控制
- 十、【栈和队列】队列
- 【附源码】一看就懂的感知机算法PLA
- ACL 2022 | 清华大学、DeepMind等指出现有小样本学习方法并不稳定有效,提出评价框架...
- mysql解压缩版配置_MySQL 5.6 for Windows 解压缩版配置安装
- 实体零售全渠道及数字化发展报告(2020)
- Essentials of Deep Learning: Visualizing Convolutional Neural Networks in Python
- 喜欢《权利的游戏》就一定要看《代码的游戏》
- 最后的答辩之银行电话营销响应模型
- 这12个GIS软件一个比一个好用
- window字体安装方法,fonts安装方法
- .NET破解之百分百营销软件系列
- java理论笔试题_Java基础笔试题及答案
- 生产排产软件中MTO模式的优缺点
- 已解决KfcError: KFC Crazy Thursday WhoEver Gives me 50 CNY, I Will Thank Him.
- oracle集群启动状态,循序渐进:Oracle 11.2 RAC集群进程的初始化与启动过程
- OpencvSharp的Mat类型数组传入c++的DLL
- 10.1 黑马Vue电商后台管理系统之完善订单管理模块--加入修改订单模块
- weblogic 安装升级补丁出现内存溢出问题解决
热门文章
- linux创建自定义组件qt,关于QT自定义控件
- java system.setproperties_在JAVA中 System.getProperty 和 System.setProperty 方法.
- windows下的diskpart指令彻底格式化清除U盘
- 树莓派的四种登陆方式
- atom编写python程序_编写我们的第一个Python程序,print.py
- 线程池中的线程复用原理
- 电脑操作系统维护10条实用建议!
- 开源:分享10 个让你笑的合不拢嘴的 GitHub 项目!
- 数据优化:求求你别再用offset和limit分页了
- 云服务器建站原理_云服务器cvm与建站主机之间的区别