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中用sleep()方法操作时间的教程
May 22 Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
Python动态赋值的陷阱知识点总结
Mar 17 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
Django框架模型简单介绍与使用分析
Jul 18 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
Python print不能立即打印的解决方式
Feb 19 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
如何在mac下配置python虚拟环境
Jul 06 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 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实现的在线人员函数库
2008/04/09 PHP
php批量上传的实现代码
2013/06/09 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
django使用多个数据库的方法实例
2021/03/04 Python
美的官方商城:Midea
2016/09/14 全球购物
结婚喜宴主持词
2014/03/14 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
MySQL中的隐藏列的具体查看
2021/09/04 MySQL