Python 保存數組至.mat文件,報錯:AttributeError: 'numpy.ndarray' object has no attribute 'items'

Python保存數組的方式有很多種,如savetxt,但這個函數只能保存一維或二維數組。爲了保存高維數組,同時能夠在matlab載入,可以使用scipy.io.savemat()函數,例子:

import numpy as np
import scipy.io as sio
A = np.array([[[1, 2], [3, 4]],[[5, 6], [7, 8]]])
print A
print A.shape
sio.savemat('data.mat', {"foo":A})

得到輸出:
這裏寫圖片描述
在matlab中導入該數組:

>>load('data.mat')

這裏寫圖片描述
可以看到,matlab與Python對矩陣的保存上有一定的變換,從Python到matlab爲:’頁’->’行’,’行’->’列’,’列’->’頁’,即在Python中的矩陣形狀爲3×4×5 ,在matlab中變爲5×3×4

另外,在Python中如果保存成.mat文件時代碼爲:sio.savemat('data.mat', A),則會報錯AttributeError: 'numpy.ndarray' object has no attribute 'items'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章