如何将 numpy ndarray 写入文本文件?
How to write a numpy ndarray to a textfile?
假设我使用 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
您可以简单地遍历每一行:
with open(file_path, 'w') as f:
for row in ndarray:
f.write(str(row))
f.write('\n')
如果您需要保留所描述的形状,我会使用 pandas library. 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')
假设我使用 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
您可以简单地遍历每一行:
with open(file_path, 'w') as f:
for row in ndarray:
f.write(str(row))
f.write('\n')
如果您需要保留所描述的形状,我会使用 pandas library. 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')