python如何删除文件中重复的字段
作者:dylink 发布时间:2021-09-19 15:43:12
标签: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视频教程
来源:https://blog.csdn.net/duanyl123/article/details/83043489


猜你喜欢
- 最近研究正则表达式。看到很多朋友需要IP地址的正则表达式,网上找了一下,一开始就找到了月光博客网站模板上的找了半天没有找到完整解决IP地址的
- torch.Tensor类型的数据loss和acc打印时如果写成以下写法print('batch_loss: '+str(l
- 准备工作(导入库、导入数据)import pandas as pdimport matplotlib.pyplot as pltimport
- 游戏说明:一个考验您记忆力的游戏,只要两个方块的;图案能够凑成一对,最终翻开所有的图片,那么您就获胜,计算机将自动记录您的游戏时
- 由于想要使用pycharm连接Window子系统Ubuntu进行开发,找了很多教程都不够详细,花了点儿时间,最后配置成功。将pycharm连
- 索引 经常要查询的语句,则给它建一个索引 表连接 select T_Oders as o join T_Customers as C on
- 本文实例讲述了python实现将html表格转换成CSV文件的方法。分享给大家供大家参考。具体如下:使用方法:python html2csv
- 目的:是学习python 多线程的工作原理,及通过抓取400张图片这种IO密集型应用来查看多线程效率对比import requestsimp
- 本文实例为大家分享了js实现直播点击飘心效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html&
- 推荐阅读:go语言最新版激活教程可以点下这个链接查看。goland永久安装教程,点击此处查看。Go 这几年很火,小哈也蹭业余时间悄 * 学习一
- 0. 学习目标在诸如单链表、双线链表等普通链表中,查找、插入和删除操作由于必须从头结点遍历链表才能找到相关链表,因此时间复杂度均为O(n)。
- 无意中看到百度的页面代码,想到了一种声明写法,需要的朋友可以参考下。<!DOCTYPE html> <!--[if IE]
- 本文研究的主要是python实现Decorator模式,具体介绍如下。一般来说,装饰器是一个函数,接受一个函数(或者类)作为参数,返回值也是
- 今天在测试一个pytorch代码的时候显示显存不足,但是这个网络框架明明很简单,用CPU跑起来都没有问题,GPU却一直提示out of me
- 基本模块 python爬虫,web spider。爬取网站获取网页数据,并进行分析提取。基本模块使用的是 urllib,urlli
- 1、搭载QT环境按win+R输入 pip install pyqt5 下载QT5 当然也可以去Qt的官网的下载 ,使用命令行更快捷方便 所以
- Postman的脚本可以导出多种语言的脚本,方便二次维护开发。Python的requests库,支持python2和python3,用于发送
- 写给新手的话pycharm是什么,为什么让我指定interpreter记事本最开始写C语言代码的时候,人们使用vi,记事本等软件写代码,写完
- 安装python中文分词库jieba法1:Anaconda Prompt下输入conda install jieba法2:Terminal下
- 1.垂直影像拼接 vconcat# -*- coding: utf-8 -*-import cv2image = cv2.imread(&q