如何在文本文件中保存矩阵,然后在python中再次将其作为矩阵打开?

时间:2014-11-04 20:50:23

标签: python matrix

我试过了:

  import numpy as np
  import os

  outdir= "directory"

  a = np.array([[1,2,3],[1,2,3]])

  os.chdir(outdir)

  np.savetxt("Image.bin", a)

  f = open("directory/Image.bin")
  m = np.fromfile(f, dtype=np.uint16)
  print len(m)
  ma = np.array(np.reshape(m, (2,3)))

  print ma

但它返回此错误消息:"新数组的总大小必须保持不变"

我试图改变dtype,但它没有工作

2 个答案:

答案 0 :(得分:2)

您应该使用np.loadtxthttp://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html

尝试:

import numpy as np

a = np.array([[1,2,3],[1,2,3]])
np.savetxt("Image.bin", a)
m = np.loadtxt("Image.bin")

m现在包含与a相同的数组。

答案 1 :(得分:1)

numpy内置了用于将数组保存和加载为二进制文件的函数。

numpy.save('data.npy', data)

将创建文件(如果不这样,它将附加npy)和

data = numpy.load('data.npy')

将从文件中加载它。这比将它们保存为文本文件更快,更节省空间。