Kos*_*Kos 2 python text duplicates python-3.x
我有一个非常大的文本文件,有重复的条目,我想消除.我不关心条目的顺序,因为稍后将对文件进行排序.
这是我到目前为止:
unique_lines = set()
outfile = open("UniqueMasterList.txt", "w", encoding = "latin-1")
with open("MasterList.txt", "r", encoding = "latin-1") as infile:
for line in infile:
if line not in unique_lines:
outfile.write(line)
unique_lines.add(line)
outfile.close()
Run Code Online (Sandbox Code Playgroud)
它已运行30分钟,尚未完成.我需要它更快.Python中更快的方法是什么?
查找相应的系统命令.在Linux/UNIX中,您将使用
uniq MasterList.txt > UniqueMasterList.txt
Run Code Online (Sandbox Code Playgroud)
操作系统通常知道执行这些操作的最佳方法.
评论后编辑
@Mark Ransom提醒我,uniq依赖于匹配文件中连续的行.实现此目的的最简单方法是对文件进行排序:
sort MasterList.txt | uniq > UniqueMasterList.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |