python如何查重txt

python如何查重txt

作者:Rhett Bai发布时间:2026-01-06阅读时长:0 分钟阅读次数:37

用户关注问题

Q
如何使用Python检测txt文件中的重复行?

我有一个txt文件,里面有很多行文本,想用Python找出重复的行,有什么简单的方法吗?

A

利用集合和字典查找txt文件中重复的行

可以读取txt文件的每一行,用Python的集合或字典来统计每行出现的次数。通过判断出现次数是否超过1,即可确定哪些行重复。示例代码如下:

with open('file.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()

line_counts = {}
for line in lines:
    line = line.strip()
    if line in line_counts:
        line_counts[line] += 1
    else:
        line_counts[line] = 1

duplicates = [line for line, count in line_counts.items() if count > 1]
print('重复的行有:', duplicates)
Q
如何用Python删除txt文件中的重复内容?

我想用Python处理txt文件,自动去除里面的所有重复行,保留唯一内容,怎么做?

A

使用Python去重并保存txt文件

可以先读取文件中的所有行,利用集合的特性去除重复项,再将结果写回新文件,示例代码如下:

with open('file.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()

unique_lines = list(dict.fromkeys([line.strip() for line in lines]))

with open('deduplicated.txt', 'w', encoding='utf-8') as f:
    for line in unique_lines:
        f.write(line + '\n')
Q
如何用Python快速统计txt文件重复内容的数量?

想知道txt文件中哪些内容重复出现了多少次,Python有什么高效的方法统计吗?

A

用collections.Counter统计重复内容频次

导入Python内置模块collections中的Counter,可以非常方便地统计文本文件中每一行出现的次数。示例如下:

from collections import Counter

with open('file.txt', 'r', encoding='utf-8') as f:
    lines = [line.strip() for line in f]

counter = Counter(lines)

for line, count in counter.items():
    if count > 1:
        print(f'内容 "{line}" 出现了 {count} 次')