python如何删除文件中重复的字段


Posted in Python onJuly 16, 2019

本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下

原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中。

import csv

filetxt1 = 'E:/gg/log/log1.txt'
filecsv1 = 'E:/gg/log/log1.csv'
filecsv2 = 'E:/gg/log/log2.csv'
filecsv3 = 'E:/gg/log/log3.csv'


class operFileCsv():
 def __init__(self, filename=None):
  self.filename = filename

 def readCsvFile(self):
  readCsvHandler = open(self.filename, 'r')
  filelines = csv.reader(readCsvHandler, dialect='excel')
  for fileline in filelines:
   print(fileline)
  readCsvHandler.close

 def writeCsvFile(self, writeline):
  writeCsvHandler = open(self.filename, 'a', newline='')
  csvWrite = csv.writer(writeCsvHandler, dialect='excel', )
  csvWrite.writerow(writeline)
  writeCsvHandler.close()


class getLogBuffFromFile():
 def __init__(self):
  self.logBuff1 = []

 def getLog1Buff(self, filename):
  with open(filename) as filehandler:
   while True:
    logOneLine = filehandler.readline().strip()
    if not logOneLine:
     break
    self.logBuff1.append(logOneLine)
  # print('TRACE: The log1 has ', len(self.logBuff1), ' lines.')
  return self.logBuff1

 def getLog2Buff(self, logOneLine):
  pass


class deleteIterantLog():
 def __init__(self):
  self.logBuff1List = None
  self.logBuff2OneLine = None

 def deleteProcedure(self, oldlog, newlog, createlog):
  self.logBuff1List = getLogBuffFromFile().getLog1Buff(oldlog)
  self.dealProcedure(newlog, createlog)

 def dealProcedure(self, file1name, file2name):
  with open(file1name, 'r') as readCsvHandler:
   filelines = csv.reader(readCsvHandler, dialect='excel')
   for fileline in filelines:
    if fileline[1] not in self.logBuff1List:
     operFileCsv(file2name).writeCsvFile(fileline)


if __name__ == '__main__':
 deleteIterantLog().deleteProcedure(filetxt1, filecsv2, filecsv3)

小编再为大家分享一段Python用集合把文本中重复的字去掉的方法:

import os,sys,datetime
import codecs
with open('aaaaa.txt', 'r') as f:  #读入文本中的文件
 l = f.readlines() # txt中所有字符串读入data
 x=set(l[0])
 for i in range(1,len(l)):
  x.update(l[i])
 s="".join(list(x))
 print(s)
with open('result.txt','wb') as f1: #把结果写到文件result中
 b=bytes(s,encoding="utf-8") 
 f1.write(b)

更多关于python安装教程的文章请参考《python各版本安装教程》

更多精彩书单,请点击python编程必备书单

领取干货:零基础入门学习python视频教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
Python脚本实现12306火车票查询系统
Sep 30 Python
Python之str操作方法(详解)
Jun 19 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Python实现PS图像明亮度调整效果示例
Jan 23 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python3中列表list合并的四种方法
Apr 19 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
使用python的pyplot绘制函数实例
Feb 13 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
python实现批处理文件
Jul 28 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 #Python
Python使用正则表达式分割字符串的实现方法
Jul 16 #Python
Python Django切换MySQL数据库实例详解
Jul 16 #Python
Python二维码生成识别实例详解
Jul 16 #Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 #Python
Python Web版语音合成实例详解
Jul 16 #Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 #Python
You might like
PHP查询快递信息的方法
2015/03/07 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP利用递归函数实现无限级分类的方法
2019/03/22 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
基于jquery的无限级联下拉框js插件
2011/10/29 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
javascript判断office版本示例
2014/04/11 Javascript
javascript 动态创建表格
2015/01/08 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python 接收处理外带的参数方法
2018/12/03 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
主治医师岗位职责
2013/12/10 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
实习单位鉴定意见
2015/06/04 职场文书
教师教育心得体会
2016/01/19 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL