如何使用Python在文本文件中添加指定内容行
实现思路
- 逐行读取原始文本文件,拆分每行的第一个字段作为分组键,剩余内容作为对应分组的条目
- 用字典存储分组结果,同一个键对应的所有条目存入同一个列表
- 按预期格式输出结果到新文件
代码实现
# 替换为你的输入、输出文件路径 input_file = "source.txt" output_file = "result.txt" group_result = {} # 读取并处理原文件 with open(input_file, 'r', encoding='utf-8') as f: for line in f: line = line.strip() # 跳过空行 if not line: continue # 最多拆分1次,避免内容中的空格被拆分 parts = line.split(maxsplit=1) key = parts[0] content = parts[1] if len(parts) > 1 else "" # 存入分组 if key not in group_result: group_result[key] = [] group_result[key].append(content) # 按分组输出结果 with open(output_file, 'w', encoding='utf-8') as f: for key, content_list in group_result.items(): # 先输出分组键 f.write(f"{key}\n") # 输出该分组下所有内容 for content in content_list: f.write(f"{content}\n") # 不需要分组间空行可删除下一行 f.write("\n")
可选调整
如果需要将同一分组的键和所有内容输出在同一行,可将写入部分替换为以下代码:
with open(output_file, 'w', encoding='utf-8') as f: for key, content_list in group_result.items(): f.write(f"{key} {' '.join(content_list)}\n")
适配说明
如果你的文本字段分隔符不是空格,可将split(maxsplit=1)修改为对应分隔符,比如制表符分隔改为split('\t', maxsplit=1)即可。
内容的提问来源于stack exchange,提问作者Seyed Kian
相关产品推荐
相关产品推荐

