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读取Android permission文件
Nov 01 Python
Python获取当前时间的方法
Jan 14 Python
python中遍历文件的3个方法
Sep 02 Python
python监控网站运行异常并发送邮件的方法
Mar 13 Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
python用match()函数爬数据方法详解
Jul 23 Python
Python创建数字列表的示例
Nov 28 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
python 实现有道翻译功能
Feb 26 Python
浅谈Python中的正则表达式
Jun 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常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
python3实现字符串操作的实例代码
2019/04/16 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
python多进程间通信代码实例
2019/09/30 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
介绍一下mysql的日期和时间函数
2013/03/28 面试题
英文版区域经理求职信
2013/10/23 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
出生公证委托书
2014/04/03 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
储备店长岗位职责
2015/04/14 职场文书
通知格式
2015/04/27 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server