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

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

如图所示。

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()

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-26

发这种问题竟然是截图...没调试过,将就着看吧,主要意思就是通过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一下就行了

第2个回答  2015-01-26
你好:
一般是:
一边读文本文件,一边将行存入数组;
然后对读取的下一行数据,与数组中的数据做对比,
如果重复,就舍弃;;
最后就爱那个数组中的数据写入文件;本回答被网友采纳
相似回答