首页 > 编程 > Python > 正文

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

2019-11-25 12:21:13
字体:
来源:转载
供稿:网友

本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下

原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中。

import csvfiletxt1 = '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):  passclass 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,datetimeimport codecswith 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视频教程

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表