本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下 原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中。
本文实例为大家分享了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视频教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。