python如何删除文件中重复的字段
本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下
原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中。
importcsv filetxt1='E:/gg/log/log1.txt' filecsv1='E:/gg/log/log1.csv' filecsv2='E:/gg/log/log2.csv' filecsv3='E:/gg/log/log3.csv' classoperFileCsv(): def__init__(self,filename=None): self.filename=filename defreadCsvFile(self): readCsvHandler=open(self.filename,'r') filelines=csv.reader(readCsvHandler,dialect='excel') forfilelineinfilelines: print(fileline) readCsvHandler.close defwriteCsvFile(self,writeline): writeCsvHandler=open(self.filename,'a',newline='') csvWrite=csv.writer(writeCsvHandler,dialect='excel',) csvWrite.writerow(writeline) writeCsvHandler.close() classgetLogBuffFromFile(): def__init__(self): self.logBuff1=[] defgetLog1Buff(self,filename): withopen(filename)asfilehandler: whileTrue: logOneLine=filehandler.readline().strip() ifnotlogOneLine: break self.logBuff1.append(logOneLine) #print('TRACE:Thelog1has',len(self.logBuff1),'lines.') returnself.logBuff1 defgetLog2Buff(self,logOneLine): pass classdeleteIterantLog(): def__init__(self): self.logBuff1List=None self.logBuff2OneLine=None defdeleteProcedure(self,oldlog,newlog,createlog): self.logBuff1List=getLogBuffFromFile().getLog1Buff(oldlog) self.dealProcedure(newlog,createlog) defdealProcedure(self,file1name,file2name): withopen(file1name,'r')asreadCsvHandler: filelines=csv.reader(readCsvHandler,dialect='excel') forfilelineinfilelines: iffileline[1]notinself.logBuff1List: operFileCsv(file2name).writeCsvFile(fileline) if__name__=='__main__': deleteIterantLog().deleteProcedure(filetxt1,filecsv2,filecsv3)
小编再为大家分享一段Python用集合把文本中重复的字去掉的方法:
importos,sys,datetime importcodecs withopen('aaaaa.txt','r')asf:#读入文本中的文件 l=f.readlines()#txt中所有字符串读入data x=set(l[0]) foriinrange(1,len(l)): x.update(l[i]) s="".join(list(x)) print(s) withopen('result.txt','wb')asf1:#把结果写到文件result中 b=bytes(s,encoding="utf-8") f1.write(b)
更多关于python安装教程的文章请参考《python各版本安装教程》
更多精彩书单,请点击python编程必备书单
领取干货:零基础入门学习python视频教程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。