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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
wxPython窗口的继承机制实例分析
Sep 28 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
python基于SMTP协议发送邮件
May 31 Python
python实现QQ邮箱发送邮件
Mar 06 Python
Python 统计位数为偶数的数字代码详解
Mar 15 Python
python实现3D地图可视化
Mar 25 Python
pytorch简介
Nov 11 Python
Python实现PIL图像处理库绘制国际象棋棋盘
Jul 16 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
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
python pygame实现2048游戏
2018/11/20 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
python实现磁盘日志清理的示例
2020/11/05 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
大学生赌博检讨书
2014/09/22 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
单位法人授权委托书范本
2014/10/09 职场文书