在txt文件中导出矩阵

时间:2019-03-05 08:46:24

标签: python matrix export

我正在尝试使用以下代码将矩阵导出到.txt文件

with open('outfile.txt','wb') as f:
   for line in M:
        np.savetxt(f, line, fmt='%.4f') 

问题是我获得的文件会在不同的行中分配数字,并且看起来像这样:

0.0000 0.0000 0.0000 0.
0000 0.0000 0.0000 0.0000 -0.2
998 -0.2966 -0.2945 …

我如何告诉python将Matrix M的每一行用作.txt文件的新完整行?

提前谢谢

3 个答案:

答案 0 :(得分:0)

如果这是二维矩阵。最简单的方法是确保其为numpy格式,并使用numpy.savetxt()。

链接到下面的文档。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html

答案 1 :(得分:0)

尝试一下:

with open('outfile.txt','wb') as f:
   for line in M:
        np.savetxt(f, line + '\n', fmt='%.4f')

'\ n'应该将插入符号移至新行

答案 2 :(得分:0)

您可以使用Python的内置文件对象,例如:

M = np.random.randn(10,10)
f = open("outfile.txt","w")
for row in M:
    for el in row:
        f.write("%.4f" %el + ' ')
    f.write('\n')
f.close()

请注意,每次完全打印完一行后,都会打印新行。