将for循环每次迭代的输出保存在单个文件中

2024-09-30 06:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

hii专家我有一个文本文件(input.txt),其中包含5列数据,如下所示:

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

我只想在每次迭代中读取单个列,并在其中添加5个,然后希望np.savetxt将循环的每个迭代输出保存在文本文件的不同列中

剧本是我写的

import numpy as np
import random


inpdata=np.loadtxt("input.txt")
for x in np.arange(0,4,1):
        data=inpdata[:,x]
        sum=data+5
        np.savetxt('tx_'+str(x),data)

执行此操作时,输出保存在不同的文件中,但我需要将输出保存在单个文件中,如第一列、第二列、第三列。。。。 我需要如下输出

7  8  9  10  11
8  9  10 11  12
7  8  9  10  11 
11 12 13 14  5
8  8  8  8   8

我希望一些专家能帮助我。提前谢谢


Tags: 文件数据importnumpytxtinputdataas
1条回答
网友
1楼 · 发布于 2024-09-30 06:23:53

因为您只是对数组执行一些操作。您可以等效地执行以下操作:

  1. 从txt文件中读取数据
  2. 执行您想按列或任何其他方式执行的任何操作
  3. 将新数据保存到文件中

在这个特定示例中,您可以向数组中添加标量,如下所示:

import numpy as np
data=np.loadtxt("test.txt")
data += 5
np.savetxt('output.txt', data)

如果您坚持按列操作:

import numpy as np
data=np.loadtxt("test.txt")
for i in range(data.shape[1]):
    data[:, i] += 5
np.savetxt('output.txt', data)

相关问题 更多 >

    热门问题