2014-11-04 578 views
1

我嘗試這樣做:如何將矩陣保存到txt文件中,然後在python中以矩陣形式再次打開它?

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 

但它返回此錯誤消息:「新的數組的總大小不得不變」

我試圖改變D型,但它這麼想的工作

+0

哪條線實際上失敗? reshape()函數看起來很可疑。 – 2014-11-04 20:53:36

+0

它是否必須是文本文件? – 2014-11-04 21:23:03

+0

喬爾Cornett,不,只是一些文件,我可以再次打開。我使用了文本文件,因爲它一直工作,直到我試圖保存並再次打開它。 – 2014-11-05 00:04:57

回答

1

numpy內置了用於將數組保存和加載爲二進制文件的函數。

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

將創建文件(如果你不這樣做,將追加NPY)和

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

將從文件加載它。這比將它們保存爲文本文件更快,更節省空間。