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

Python处理TXT表格写入新文件仅保留最后一行问题求助

问题根因
  • 写入文件的逻辑放置在for循环内部,且使用了w覆盖写入模式:每次调用open(new_filepath, "w")都会清空文件已有内容,因此每一轮循环都会擦掉上一轮写入的结果,最终仅保留最后一行的处理数据。
  • 次要问题:writelines传入单个字符串不符合方法设计逻辑,且处理后的行未添加换行符,即便写入成功也会出现所有内容挤在同一行的问题。
  • 额外优化点:原文件仅需读取,不需要使用r+读写模式,用只读模式r更安全,避免误修改原文件。
修复后可直接运行的代码
filepath = 'original_file.txt'
new_filepath = 'new_file.txt'

# 统一在循环外层打开读写两个文件,仅做一次IO操作
with open(filepath, 'r') as f, open(new_filepath, "w") as n:
    for line in f:
        new_line = line.strip()
        new_line = new_line.replace('_','\t').replace('FileName','OldFile\tNewFile').replace('predOGT (C)','predOGT_(C)').replace('.fasta','').replace('CTOTU-','')
        print(new_line)
        # 写入时补充换行符,保证行结构正确
        n.write(new_line + '\n')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:24:03