You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python查找文本文件中指定多列组合值重复的行

多列组合重复行查找方法

针对竖线分隔的文本文件,需要筛选指定多列值组合重复的所有行,可直接使用awk命令实现,以下是具体方案:

实现命令

awk -F '|' 'NR==1{next} {
    key = $2"|"$3"|"$5
    if (count[key] >= 1) {
        if (count[key] == 1) print buf[key]
        print $0
        count[key]++
    } else {
        buf[key] = $0
        count[key] = 1
    }
}' abc.txt

逻辑说明

  • -F '|':指定文件的列分隔符为竖线|
  • NR==1{next}:跳过文件的表头行,如果你处理的文件没有表头可以直接删除这部分代码
  • key = $2"|"$3"|"$5:将第二列state、第三列zipcode、第五列continent拼接为组合判断键,如需调整判断重复的列,修改这里的列号即可
  • 用count数组统计每个组合键出现的次数,buf数组暂存第一次出现该组合键的行内容:第一次遇到组合键时存储整行内容,后续再遇到同一组合键时,先打印第一次存储的行,再打印当前行,保证所有重复的行都能正常输出,不会出现重复打印的问题

测试效果

针对你给出的示例文件执行上述命令后,输出结果为:

1/1/2|HR|45044|Berlin|Germany
5/1/2|HR|45044|Swiss|Germany

和预期输出完全一致。

内容的提问来源于stack exchange,提问作者Enigmaderockz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:15:01