我正在开展一个项目,我需要将2D数组保存为.txt文件,其格式与原始矩阵相同。
我正在使用numpy
来保存这些数据,如下所示:
average_matrix = np.array(average_matrix)
with file(data_dir + "average.txt", "w") as outfile:
for data_slice in average_matrix:
np.savetxt(outfile, data_slice, fmt='%-4i')
outfile.write("\n")
我想保存的数据被格式化为480 * 640阵列。但是在打开目标文件时,所有数据都按如下方式分隔:
.
.
.
1156
1156
1149
1711
1773
1836
1836
1836
1836
1836
1836
1773
1772
1267
1268
1204
.
.
.
并非与预期的480 * 640格式相同。
有没有人知道为什么会发生这种情况,并且可能有办法解决这个问题?
答案 0 :(得分:0)
从numpy.savetxt的文档中,您需要传递一个文件名,以及可以为二维数组的数组。因此,您需要删除循环,只需使用:
np.savetxt("average.txt", average_matrix, fmt='%-4i')