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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求:如何用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()

参考技术A

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

参考技术B 你好:
一般是:
一边读文本文件,一边将行存入数组;
然后对读取的下一行数据,与数组中的数据做对比,
如果重复,就舍弃;;
最后就爱那个数组中的数据写入文件;

如何用Python删除或者移动Excel中的sheet

参考技术A import xlrd
b = xlrd.open_workbook('path/to/excel')
count = len(b.sheets()) #sheet数量
for sheet in b.sheets():
print sheet.name #sheet名称
参考技术B 同Excel文件sheet复制,两Excel文件.本回答被提问者采纳

以上是关于急求:如何用python删除文本中的重复行?的主要内容,如果未能解决你的问题,请参考以下文章

逐行删除文本文件中的重复项

如果它们是重复行,如何用另一个表覆盖表行

文本删除重复行(UltraEdit)

向数据库插入的数据不重复,如何用Java做验证

使用 Pandas 删除 Python 中的多余行 [重复]

如何根据python中的多个条件对excel文件进​​行重复数据删除?