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

如何用Python按Age值分割TXT文件并分组输出?

用Python按Age分组分割TXT文件的实现方法

核心思路

  • 读取目标TXT文件的全部内容
  • 分离出表头和数据行
  • 以Age字段为依据,将数据行归类到不同分组
  • 给每个分组添加表头,最后输出结果(可打印或写入新文件)

完整代码示例

# 读取输入文件内容
with open('input.txt', 'r') as f:
    # 过滤空行并去除每行首尾的空白字符
    lines = [line.strip() for line in f if line.strip()]

if not lines:
    print("文件为空或没有有效内容")
    exit()

# 提取表头和数据行
header = lines[0]
data_rows = lines[1:]

# 按Age值分组存储数据
age_groups = {}
for row in data_rows:
    # 按空格分割每行内容,得到各个字段
    parts = row.split()
    # 确保该行有足够的字段(至少包含Age)
    if len(parts) >= 2:
        age = parts[1]
        # 如果该Age还没有分组,创建新列表
        if age not in age_groups:
            age_groups[age] = []
        age_groups[age].append(row)

# 生成带表头的分组结果
result = []
# 按Age从小到大排序输出
for age in sorted(age_groups.keys()):
    result.append(header)
    result.extend(age_groups[age])
    result.append("")  # 分组之间用空行分隔

# 打印最终结果
print('\n'.join(result))

# 可选:将每个分组写入单独的文件
for age, rows in age_groups.items():
    with open(f'age_{age}_group.txt', 'w') as output_file:
        output_file.write(header + '\n')
        output_file.write('\n'.join(rows))

代码分步解释

  • 文件读取:使用with open语句可以自动关闭文件,避免资源泄漏;同时过滤掉空行,只保留有效内容。
  • 表头与数据分离:第一行是表头,后续所有行都是需要分组的数据。
  • 分组逻辑:用字典age_groups来存储分组,键是Age的数值,值是对应的数据行列表,遍历所有数据行时将它们归入对应的分组。
  • 结果生成:遍历每个分组,先写入表头,再写入对应的数据行,分组之间添加空行分隔,让结果更清晰。
  • 文件输出(可选):如果需要将每个分组保存为单独的文件,循环遍历字典,为每个Age创建一个新文件并写入内容。

新手注意事项

  • 确保你的输入文件input.txt和Python脚本在同一个文件夹下,或者修改代码中的文件路径为完整路径(比如C:/data/input.txt)。
  • 如果你的文件是用逗号分隔的CSV格式,需要把row.split()改成row.split(','),并且注意处理字段前后的空格。
  • 代码中加入了简单的校验(检查每行是否有足够字段),避免因文件格式错误导致程序崩溃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:21:06