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中__init__和__new__的区别详解
Jul 09 Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Pytorch to(device)用法
Jan 08 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
Django中F函数的使用示例代码详解
Jul 06 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Python之基础函数案例详解
Aug 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通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP 组件化编程技巧
2009/06/06 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php curl基本操作详解
2013/07/23 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
php实现json编码的方法
2015/07/30 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
Python中dict和set的用法讲解
2019/03/28 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
python如何爬取动态网站
2020/09/09 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
会计自我鉴定范文
2013/10/06 职场文书
满月酒答谢词
2014/01/14 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
2014年班务工作总结
2014/12/02 职场文书
顶岗实习协议书
2015/01/29 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Java对文件的读写操作方法
2022/04/29 Java/Android