gpt4 book ai didi

python - 获取txt文件中每一行的特定列python

转载 作者:行者123 更新时间:2023-12-01 08:13:31 26 4
gpt4 key购买 nike

我有两个txt文件。第一个是每行包含一个数字,如下所示:

22
15
32
53
.
.

另一个文件每行包含 20 个连续数字,如下所示:

0.1 2.3 4.5 .... 5.4
3.2 77.4 2.1 .... 8.1
....
.
.

根据第一个txt中的给定数字,我想分隔其他文件。例如,在第一个 txt 中,第一行有 22,这意味着我将采用具有 20 列的第一行和具有两列的第二行,并删除第二行的其他列。然后我将查看第一个 txt 的第二行(它是 15),这意味着我将从其他文件的第三行中取出 15 列,并删除第三行的其他列,依此类推。我怎样才能做到这一点?

with open ('numbers.txt', 'r') as f:
with open ('contiuousNumbers.txt', 'r') as f2:
with open ('results.txt', 'w') as fOut:
for line in f:
...

谢谢。

最佳答案

对于迭代第一个文件的每一行的数字,将该数字作为要读取的目标总数,以便您可以使用 while 循环继续使用 next 在第二个文件对象上读取数字并从总数中减去数字的数量,直到总数达到 0。使用总数中较小的数字和数字的数量来对数字进行切片,以便仅输出所请求的数量数字:

for line in f:
output = []
total = int(line)
while total > 0:
try:
items = next(f2).split()
output.extend(items[:min(total, len(items))])
total -= len(items)
except StopIteration:
break
fOut.write(' '.join(output) + '\n')

因此给定第一个文件:

3
6
1
5

第二个文件包含:

2 5
3 7
2 1
3 6
7 3
2 2
9 1
3 4
8 7
1 2
3 8

输出文件将包含:

2 5 3
2 1 3 6 7 3
2
9 1 3 4 8

关于python - 获取txt文件中每一行的特定列python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089190/

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