如何将numpy ndarray写入文本文件?

时间:2018-05-18 13:48:36

标签: python-3.x text-files numpy-ndarray

假设我使用 numpy 获取此 ndarray ,我想写入文本文件。 :

[[1   2   3   4]
[5   6   7   8]
[9   10   11   12]]

这是我的代码:

width, height = matrix.shape
with open('file.txt', 'w') as foo:
    for x in range(0, width):
        for y in range(0, height):
            foo.write(str(matrix[x, y]))
foo.close()

问题是我只将 ndarray 的所有行都放在一行中,但我希望将其写入文件中:

1 2 3 4
5 6 7 8
9 10 11 12

2 个答案:

答案 0 :(得分:2)

您可以简单地遍历每一行:

with open(file_path, 'w') as f:
    for row in ndarray:
        f.write(str(row))
        f.write('\n')

答案 1 :(得分:1)

如果你需要按照描述保留形状,我会使用pandas库。 This post描述了如何做到这一点。

import pandas as pd
import numpy as np

your_data = np.array([np.arange(5), np.arange(5), np.arange(5)])

# can pass your own column names if needed
your_df = pd.DataFrame(your_data) 

your_df.to_csv('output.csv')