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
0
投稿
猜你喜欢
- 本文实例为大家分享了python发邮件精简代码,供大家参考,具体内容如下import smtplibfrom email.mime.text
- 前言Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import
- 一、程序导出word文档的方法将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache PO
- baselineimport tensorflow.keras.layers as layersbaseline_model = keras
- 平常我们只听说过ADO等一类ASP对象,但在ASP中还有个鲜为人知的专门SQL Server的ASP访问对象,它就是SQLOLE.SQLSe
- 将数据写入Excel文件中,用python实现起来非常的简单,下面一步步地教大家。一、导入excel表格文件处理函数import xlwt注
- 安装pip install requests发送网络请求import requestsr=requests.get('http://
- 使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,可以节省非常多的时间。操作前配置(以较为复杂的QQ邮箱举例,其他邮箱操作类
- 本文实例为大家分享了python批量梯度下降算法的具体代码,供大家参考,具体内容如下问题:将拥有两个自变量的二阶函数绘制到空间坐标系中,并通
- 前面是分部讲解,完整代码在最后。导入模块 :import osfrom shutil import copy, rmtreeimport r
- 那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd 23:59:59.997。 我们可以使用DATEADD函数,来实现
- 共有三种推导式列表(list)推导式字典(dict)推导式集合(set)推导式列表推导式基本语法:[out_express for out_
- 官方文档介绍链接:append方法介绍DataFrame.append(other, ignore_index=False, verify_
- Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下:1.在python安装目录的Lib
- WebDriver有2个方法执行Java Script脚本。(1)同步执行:execute_script(2)异步执行:execute_as
- 1. A List Apart CSS TopicsA List Apart是一个CSS优秀文章的收集网站,从1999年开始收集文章,关注最
- 之前一直使用hdfs的命令进行hdfs操作,比如:hdfs dfs -ls /user/spark/hdfs dfs -get /user/
- 最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以
- WordPress可以改造成twitter一样的微博网站,但是有一个坏处就是你要么用来做博客要么用来做微博,功能难兼得。相信大家在访问一些知
- Web标准的web UI——来源、谬误与个人理解序我从2004年末开始接触web标准,2005年5月正式采取完全的web标准方式的网页制作,