gpt4 book ai didi

Python - 合并文本文件(特定行)

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:20 25 4
gpt4 key购买 nike

我有两个来自一个实验的大型文本数据文件,我想以特殊方式将其拆分为一个。

小数据样本:

文件1:

plotA   10 
plotB 9
plotC 9

文件2:

98%
7/10
21
98%
5/10
20
98%
10/10
21

我想要这样的结果:

plotA   10  98% 7/10    21
plotB 9 98% 5/10 20
plotC 9 98% 10/10 21

我不知道它在 python 中是如何解决的。我尝试重新排序 file2:

lines = file2.readlines()
aaa = lines[0] + lines[3] + lines[6]
bbb = lines[1] + lines[4] + lines[7]
ccc = lines[2] + lines[5] + lines[8]

并使用 zip 但我失败了(而且这种方法对于大文本文件很耗时)。

有什么帮助吗?

最佳答案

您可以使用 itertools.izip_longest将文件 2 切成三行并再次使用它来将它们与第一个文件一起压缩:

from itertools import izip_longest
with open('file1.txt') as f1, open('file2.txt') as f2:

args = [iter(f2)] * 3
z = izip_longest(f1, izip_longest(*args), fillvalue='-')
for line, tup in z:
print '{:11}'.format(line.strip()), '{:5}{:5}{:>5}'.format(*map(str.strip, tup))

如果你想将这个结果写入一个新文件,你可以打开一个文件进行写入,而不是打印它,而是将行写入文件。

结果:

plotA   10  98%  7/10    21
plotB 9 98% 5/10 20
plotC 9 98% 10/10 21

关于Python - 合并文本文件(特定行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32234727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com