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

Python如何将特定格式文本文件内容转换为对应元组输出

问题描述

你有一个格式如下的文本文件:

ID1

NUMBER1

NUMBER2 

ID2

NUMBER3

NUMBER4

期望得到的输出为:(ID1,NUMBER1),(ID1,NUMBER2),(ID2,NUMBER3),(ID2,NUMBER4)
你目前已实现逐行读取文件,读取到的每行内容类型为字符串,现有代码如下:

with open("outfile.txt") as f:
    for line in f:
          print(line, type(line))
实现方案

核心思路:先过滤空行,再按规则分组拼接,具体实现代码如下:

res = []
current_id = None

with open("outfile.txt", "r", encoding="utf-8") as f:
    for line in f:
        # 清理每行首尾的换行、多余空格,过滤空行
        cleaned_line = line.strip()
        if not cleaned_line:
            continue
        # 识别ID行,更新当前生效的ID
        if cleaned_line.startswith("ID"):
            current_id = cleaned_line
        # 数字行和当前ID拼接为要求格式存入结果
        else:
            res.append(f"({current_id},{cleaned_line})")

# 拼接所有结果为最终输出
final_output = ",".join(res)
print(final_output)

如果你的ID命名规则不是固定以ID开头,也可以调整判断逻辑,比如将过滤后的有效行按「1个ID+2个数字」的固定长度分组处理,适配性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:09:13