python如何刪除文件中重復(fù)的字段
本文實(shí)例為大家分享了python如何刪除文件中重復(fù)字段的具體代碼,供大家參考,具體內(nèi)容如下
原文件內(nèi)容放在list中,新文件內(nèi)容按行查找,如果沒有出現(xiàn)在list中則寫入第三個(gè)文件中。
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用集合把文本中重復(fù)的字去掉的方法:
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: #把結(jié)果寫到文件result中 b=bytes(s,encoding="utf-8") f1.write(b)
更多關(guān)于python安裝教程的文章請(qǐng)參考《python各版本安裝教程》
更多精彩書單,請(qǐng)點(diǎn)擊python編程必備書單
領(lǐng)取干貨:零基礎(chǔ)入門學(xué)習(xí)python視頻教程
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python 兩種方法刪除空文件夾
- python刪除文件、清空目錄的實(shí)現(xiàn)方法
- 基于python實(shí)現(xiàn)刪除指定文件類型
- python怎么刪除緩存文件
- python如何刪除文件、目錄
- python刪除某個(gè)目錄文件夾的方法
- python 解壓、復(fù)制、刪除 文件的實(shí)例代碼
- Python徹底刪除文件夾及其子文件方式
- python從zip中刪除指定后綴文件(推薦)
- 利用python在大量數(shù)據(jù)文件下刪除某一行的例子
- python刪除文件夾下相同文件和無法打開的圖片
- Python實(shí)現(xiàn)拷貝/刪除文件夾的方法詳解
- python刪除本地夾里重復(fù)文件的方法
- python 刪除系統(tǒng)中的文件(按時(shí)間,大小,擴(kuò)展名)
相關(guān)文章
Pycharm創(chuàng)建python文件自動(dòng)添加日期作者等信息(步驟詳解)
這篇文章主要介紹了Pycharm創(chuàng)建python文件自動(dòng)添加日期作者等信息(步驟詳解),本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02如何在python中實(shí)現(xiàn)隨機(jī)選擇
這篇文章主要介紹了如何在python中實(shí)現(xiàn)隨機(jī)選擇,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11關(guān)于 Python json中l(wèi)oad和loads區(qū)別
這篇文章主要介紹了關(guān)于 Python json中l(wèi)oad和loads區(qū)別,文章也有簡(jiǎn)單的說明它們之間的相同點(diǎn),然后詳細(xì)介紹不同點(diǎn),需要的朋友可以參考一下文章的具體內(nèi)容2021-11-11利用Python制作一個(gè)動(dòng)物識(shí)別小程序
動(dòng)物識(shí)別是計(jì)算機(jī)視覺和模式識(shí)別領(lǐng)域的重要研究方向,它涉及通過圖像或視頻數(shù)據(jù)自動(dòng)識(shí)別和分類不同種類的動(dòng)物,隨著數(shù)字圖像技術(shù)和機(jī)器學(xué)習(xí)方法的快速發(fā)展,動(dòng)物識(shí)別在實(shí)際應(yīng)用中具有廣泛的潛力,本文將給大家介紹如何基于Python制作一個(gè)動(dòng)物識(shí)別小程序2023-10-10基于Python實(shí)現(xiàn)二維圖像雙線性插值
雙線性插值,又稱為雙線性內(nèi)插。在數(shù)學(xué)上,雙線性插值是有兩個(gè)變量的插值函數(shù)的線性插值擴(kuò)展,其核心思想是在兩個(gè)方向分別進(jìn)行一次線性插值。本文將用Python實(shí)現(xiàn)二維圖像雙線性插值,感興趣的可以了解下2022-06-06Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09