python文本去重_Python做文本按行去重的实现方法
文本:
每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行。
思路:
根据字典和字符串切割。
建立一个空字典。
读入文本,并对每行切割前半部分,在读入文本的过程中循环在这个字典中查找,如果没找到,则写入该行到字典。否则,则表示该行已经被写入过字典了(即出现重复的行了),不再写入字典,这就实现了对于重复的行只保留一行的目的。
文本如下:
/promotion/232 utm_source
/promotion/237 LandingPage/borrowExtend/? ;
/promotion/25113 LandingPage/mhd
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/254 LandingPage/mhd/mhd4/? ;
/promotion/259 LandingPage/ydy/? ;
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/25199 com/LandingPage
程序如下:
line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.values():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq
print len(line_dict_uniq)
# 这里是打印了不重复的行(重复的只打印一次),实际再把这个结果写入文件就可以了,
# 就不写这段写入文件的代码了
上面这个程序执行效率比较低,改成如下会提高一些:
line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.keys():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq
print len(line_dict_uniq)
继续补充一个函数
# -*- coding: utf-8 -*-
'''
只使用与较小的文件,比较大的文件运行时间长
'''
def quchong(infile,outfile):
infopen = open(infile,'r',encoding='utf-8')
outopen = open(outfile,'w',encoding='utf-8')
lines = infopen.readlines()
list_1 = []
for line in lines:
if line not in list_1:
list_1.append(line)
outopen.write(line)
infopen.close()
outopen.close()
quchong("源文件路径","目标文件路径")
以上所述是小编给大家介绍的Python做文本按行去重,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
本文标题: Python做文本按行去重的实现方法
本文地址: http://www.cppcns.com/jiaoben/python/166891.html
python文本去重_Python做文本按行去重的实现方法相关推荐
- python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...
前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...
- python实现文本编辑器_Python实现文本编辑器功能实例详解
这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...
- python多功能文本编辑器_Python GUI文本编辑器
使用Python编写一个简单的文本编辑器,需要展示一个用户界面,功能包括打开.保存文本文件. 使用tkinter库来编写GUI. #简单GUI文本编辑器 from tkinter import * f ...
- python获取输入数字_python获取从命令行输入数字的方法
本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...
- python从键盘获取输入数字_python获取从命令行输入数字的方法
本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...
- python输出文本换行_python中print怎么不换行输出
大家应该知道python中print之后是默认换行的, 那如何我们不想换行,且不想讲输出内容用一个print函数输出时,就需要改变print默认换行的属性, 方法如下:print('contents' ...
- python snownlp了解_python做snowNLP文本情感分类代码示例
一.snowNLP简介和作用 snownlp为python版的文本分析工具.是受到了TextBlob的启发而写的,可以方便的处理中文文本内容. 支持的中文自然语言操作包括: 中文分词 词性标注 情感分 ...
- Python 利用深度学习做文本摘要
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 python免费学习资料 ...
- java 大数据文本去重_python实现文本去重且不打乱原本顺序
摘要:这篇Python开发技术栏目下的"python实现文本去重且不打乱原本顺序",介绍的技术点是"Python实现.Python.文本去重.去重.顺序.文本" ...
最新文章
- 【MATLAB】矩阵运算之矩阵分解
- Java实现选最远距离的座位_LeetCode算法题-Maximize Distance to Closest Person(Java实现)...
- lambda函数详解
- 不调用python函数实现直方图均衡化_直方图均衡化(HE)
- Insyde uefi 隐藏设置_安卓福利,手机桌面图标隐藏,找应用按字母轻松搞定!
- Koa入门——关键知识点总结
- python json模块详解_深入解析Python编程中JSON模块的使用
- Java基础入门笔记-使用变量并打印
- Vue —— vuex
- elasticsearch aggregations_Elasticsearch聚合的嵌套桶如何排序
- 如何给页面加上loding_excel打印区域页面设置
- [受限玻尔兹曼机] 原理、求解过程推导、深度信念网络
- Improved Variational Inference with Inverse Autoregressive Flow
- php嵌入图片代码,php如何添加图片
- Web IDE落地全记录(一)
- 今日科技联播:美团今日上市估值超小米京东;阿里巴巴获杭州第一张自动驾驶牌照...
- 面向物流行业的文档管理系统
- 模糊控制——(3)模糊自适应整定PID控制
- Java 实现回文数
- java任意长度获取随机数
热门文章
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
- jQuery 遍历 - slice() 方法
- Jquery跨域获得Json
- oracle树结构查询----connect by语法详解
- ASP.NET中PostBack和ViewState
- idea中git提交代码更改作者名字(亲测)
- 35岁以上的程序员们,后来都干什么去了?
- Redis的Errorlog或者启动日志(错误日志)的配置
- python中文词云生成_Python 词云生成
- oracle判断数据表的字段内容是否为空