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

 更新时间:2019年07月16日 15:56:42   作者:dylink  
这篇文章主要为大家详细介绍了python如何删除文件中重复的字段,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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视频教程

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

相关文章

  • Pandas对每个分组应用apply函数的实现

    Pandas对每个分组应用apply函数的实现

    这篇文章主要介绍了Pandas对每个分组应用apply函数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Django中session进行权限管理的使用

    Django中session进行权限管理的使用

    本文主要介绍了Django中session进行权限管理的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • python多核处理器算力浪费问题解决

    python多核处理器算力浪费问题解决

    这篇文章主要为大家介绍了python多核处理器算力浪费现象的处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python算法之求n个节点不同二叉树个数

    Python算法之求n个节点不同二叉树个数

    本文先向大家分享了建立二叉树的简单代码,其次介绍了Python计算n个节点不同二叉树个数的问题及实现代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python股票数据可视化代码详解

    Python股票数据可视化代码详解

    这篇文章主要为大家详细介绍了Python股票数据可视化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python找出文件中使用率最高的汉字实例详解

    Python找出文件中使用率最高的汉字实例详解

    这篇文章主要介绍了Python找出文件中使用率最高的汉字,涉及Python针对字符串与中文的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • Python中IO多路复用模块selector的用法详解

    Python中IO多路复用模块selector的用法详解

    selector 是一个实现了IO复用模型的python包,实现了IO多路复用模型的 select、poll 和 epoll 等函数,下面就跟随小编一起来学习一下它的具体使用吧
    2024-02-02
  • tf.truncated_normal与tf.random_normal的详细用法

    tf.truncated_normal与tf.random_normal的详细用法

    本篇文章主要介绍了tf.truncated_normal与tf.random_normal的详细用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Python get获取页面cookie代码实例

    Python get获取页面cookie代码实例

    利用Python get获取页面cookie代码实例,简单易懂
    2018-09-09
  • Anaconda入门使用总结

    Anaconda入门使用总结

    个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作
    2018-04-04

最新评论