急求:如何用python删除文本中的重复行? 5

读取一个txt文本,文本每行一个词组(通常词组至少两个单词),删除文本中的重复行,输出。文本如图所示。... 读取一个txt文本,文本每行一个词组(通常词组至少两个单词),删除文本中的重复行,输出。文本

如图所示。
展开
 我来答
可靠的我心我在
推荐于2017-06-13 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:626万
展开全部
1.如果你的txt 文件不大的话 可以直接 
tmp = open('**.txt').readlines() #把内容一次性全部读取出来 是一个列表
set(tmp) #这个就是把列表 去重复 
然后 你可以把 这个去重后的tmp 写入到新的文件
2.txt很大,那么只能一行一行的读取去重了
#!/usr/bin/env python
# coding=utf-8
# python 2.7
outfile = open('result-readline.txt', 'w') #新的文件
list_1=[]
for line in open('test.txt'):  #老文件
    tmp = line.strip()
    if tmp not in list_1:
        list_1.append(tmp)
        outfile.write(line)
outfile.close()
扶风仙人
2015-01-26
知道答主
回答量:45
采纳率:0%
帮助的人:12.6万
展开全部

发这种问题竟然是截图...没调试过,将就着看吧,主要意思就是通过set方法去除重复项

f = open(file, 'r')
ListOfLine = f.read().splitline()
ListOfLine = list(set(ListOfLine))
f.close()
f = open(file, 'w')
f.writelines(ListOfLine)
f.close()
追问

显示不正确

追答
那应该是因为读出来的是一个字符串,你用readline读入数组,然后set一下就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yycgis
2015-01-26 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1581万
展开全部
你好:
一般是:
一边读文本文件,一边将行存入数组;
然后对读取的下一行数据,与数组中的数据做对比,
如果重复,就舍弃;;
最后就爱那个数组中的数据写入文件;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式