如何将n维数组(Python Numpy)导出到文本文件中?

时间:2014-12-19 00:21:57

标签: python numpy

我有矩阵,表示为二维数组。 似乎我可以使用numpy.ndarray.tofile将其导出到文本文件中,但它只是在一行中生成所有内容。 如何以矩阵格式获取文本文件(例如,一行是矩阵中的一行)? 像

1 2 3
4 5 6
7 8 9

而不是

1 2 3 4 5 6 7 8 9

2 个答案:

答案 0 :(得分:4)

请参阅这篇关于将numpy数组写入文件的帖子:Write multiple numpy arrays to file

代码应该是这样的:

#data is a numpy array
data = numpy.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])


# Save the array back to the file
np.savetxt('test.txt', data)

这产生以下(几乎是人类可读的)输出:

1.000000000000000000e+00 2.000000000000000000e+00 3.000000000000000000e+00
4.000000000000000000e+00 5.000000000000000000e+00 6.000000000000000000e+00
7.000000000000000000e+00 8.000000000000000000e+00 9.000000000000000000e+00

答案 1 :(得分:-1)

with open('path/to/file', 'w') as outfile:
    for row in matrix:
        outfile.write(' '.join([str(num) for num in row]))
        outfile.write('\n')