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

Python解析TXT文件时如何实现相同ID仅输出一次?

实现方案

核心思路

  • 用集合记录已输出过的ID,利用集合元素去重特性快速判断ID是否为首次出现
  • 仅首次遇到ID时写入ID行,后续相同ID的行仅写入Name字段
  • 所有行的Name字段都会正常输出,不会遗漏

修改后代码

# 初始化集合存储已输出的ID
seen_ids = set()

for line in contents:
    line_fields = line.strip().split()
    current_id = line_fields[0]
    # 首次出现该ID时写入ID行
    if current_id not in seen_ids:
        f2.write("ID: " + current_id + '\n')
        seen_ids.add(current_id)
    # 每次都写入当前行的Name
    f2.write(line_fields[1] + '\n')

可选场景适配

如果你的原始文件中相同ID的行是连续分组的,且仅需要合并连续的相同ID,可以用以下更轻量的实现,不需要维护全量ID集合:

# 存储上一行的ID,初始设为不可能出现的值
last_id = None

for line in contents:
    line_fields = line.strip().split()
    current_id = line_fields[0]
    if current_id != last_id:
        f2.write("ID: " + current_id + '\n')
        last_id = current_id
    f2.write(line_fields[1] + '\n')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:57:01