Python:创建只保存最后一项的新文本文件

时间:2018-01-29 23:15:41

标签: python split overwrite

我正在尝试从一系列其他文件的最后一列创建所有项目的单个文本文件,用新行分隔(因此,如果我有4个现有文本文件,则新文件应该有4行)。 / p>

我的代码是正确创建一个新文件,其中包含文件最后一列中的所有最后一项:

with open('originalfile1.txt') as f:
    lines = [line.strip().split()[-1] for line in f.readlines()]
with open('newtextfile.txt', 'w') as f:
    f.write(' '.join(lines) + '\n' + ' ')

没有进入for循环来遍历文件,只需手动运行下一个文件:

with open('originalfile2.txt') as f:
    lines = [line.strip().split()[-1] for line in f.readlines()]
with open('10_stimtimes.txt', 'w') as f:
    f.write(' '.join(lines) + '\n' +' ' + '\n' + ' ')

...覆盖原始输出。这个:

with open('IAPS_id10_run1.txt') as f:
    lines = [line.strip().split()[-1] for line in f.readlines()]
with open('10_stimtimes.txt', 'w') as f:
    f.write(' '.join(lines) + '\n' + ' '.join(lines))

...从第二个文件写入最后一列的输出两次,并覆盖第一个文件的输出。

我做错了什么才能维护所有文件的输出?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想将各种文件中的最后一个条目写入一个唯一文件,则在打开要写入的文件时需要使用'a'参数(追加)

How to append data to text file in python 2.7.11?