python - 如何将不同维度的numpy附加到已有的文本文件中

  显示原文与译文双语对照的内容
0 0

我有一个代码,需要 2xN 维矩阵写入一个文本文件,每次迭代。 但是问题是,从一个迭代一直到另一个迭代。

我想将这里数据写入 python 中的文本文件,并继续将新生成的矩阵添加到旧文件中。 但似乎我必须将is转换为字符串,然后才能在大型矩阵的字符串函数中使用 array 。

因这里,有人可以告诉我如何直接在文本文件中追加 to,而不将它们转换为字符串或者列表。

谢谢

时间: 原作者:

0 0

可以在不同大小数组中多次使用 savetxt:


In [34]: f = open('test.txt', 'wb') # python3, write bytes not unicode
In [35]: np.savetxt(f,np.ones((2,3),dtype=int))
In [36]: np.savetxt(f,np.ones((2,2),dtype=int))
In [37]: np.savetxt(f,np.ones((2,1),dtype=int))
In [38]: f.close()
In [39]: cat test.txt
1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00
1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00
1.000000000000000000e+00 1.000000000000000000e+00
1.000000000000000000e+00 1.000000000000000000e+00
1.000000000000000000e+00
1.000000000000000000e+00

如果希望每次打开和关闭文件,请使用'a',附加模式。

我不知道 np.savetxt 与你所尝试的速度相比,速度如何。 '文本'=='字符串someone必须将数字数据转换为字符串。

savetxt 中,这一行一行一行地完成:


for row in X:
 fh.write(asbytes(format % tuple(row) + newline))

可以快速地将 numpy 数组作为二进制数据编写,但这些方法不会是'文本'文件。

`

原作者:
...