文本:

每行在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做文本按行去重的实现方法相关推荐

  1. python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...

    前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...

  2. python实现文本编辑器_Python实现文本编辑器功能实例详解

    这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...

  3. python多功能文本编辑器_Python GUI文本编辑器

    使用Python编写一个简单的文本编辑器,需要展示一个用户界面,功能包括打开.保存文本文件. 使用tkinter库来编写GUI. #简单GUI文本编辑器 from tkinter import * f ...

  4. python获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  5. python从键盘获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  6. python输出文本换行_python中print怎么不换行输出

    大家应该知道python中print之后是默认换行的, 那如何我们不想换行,且不想讲输出内容用一个print函数输出时,就需要改变print默认换行的属性, 方法如下:print('contents' ...

  7. python snownlp了解_python做snowNLP文本情感分类代码示例

    一.snowNLP简介和作用 snownlp为python版的文本分析工具.是受到了TextBlob的启发而写的,可以方便的处理中文文本内容. 支持的中文自然语言操作包括: 中文分词 词性标注 情感分 ...

  8. Python 利用深度学习做文本摘要

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 python免费学习资料 ...

  9. java 大数据文本去重_python实现文本去重且不打乱原本顺序

    摘要:这篇Python开发技术栏目下的"python实现文本去重且不打乱原本顺序",介绍的技术点是"Python实现.Python.文本去重.去重.顺序.文本" ...

最新文章

  1. 【MATLAB】矩阵运算之矩阵分解
  2. Java实现选最远距离的座位_LeetCode算法题-Maximize Distance to Closest Person(Java实现)...
  3. lambda函数详解
  4. 不调用python函数实现直方图均衡化_直方图均衡化(HE)
  5. Insyde uefi 隐藏设置_安卓福利,手机桌面图标隐藏,找应用按字母轻松搞定!
  6. Koa入门——关键知识点总结
  7. python json模块详解_深入解析Python编程中JSON模块的使用
  8. Java基础入门笔记-使用变量并打印
  9. Vue —— vuex
  10. elasticsearch aggregations_Elasticsearch聚合的嵌套桶如何排序
  11. 如何给页面加上loding_excel打印区域页面设置
  12. [受限玻尔兹曼机] 原理、求解过程推导、深度信念网络
  13. Improved Variational Inference with Inverse Autoregressive Flow
  14. php嵌入图片代码,php如何添加图片
  15. Web IDE落地全记录(一)
  16. 今日科技联播:美团今日上市估值超小米京东;阿里巴巴获杭州第一张自动驾驶牌照...
  17. 面向物流行业的文档管理系统
  18. 模糊控制——(3)模糊自适应整定PID控制
  19. Java 实现回文数
  20. java任意长度获取随机数

热门文章

  1. ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
  2. jQuery 遍历 - slice() 方法
  3. Jquery跨域获得Json
  4. oracle树结构查询----connect by语法详解
  5. ASP.NET中PostBack和ViewState
  6. idea中git提交代码更改作者名字(亲测)
  7. 35岁以上的程序员们,后来都干什么去了?
  8. Redis的Errorlog或者启动日志(错误日志)的配置
  9. python中文词云生成_Python 词云生成
  10. oracle判断数据表的字段内容是否为空