在使用MATLAB的过程中由于mat文件过大或者什么原因,保存的mat文件是”v7.3“格式,这时用Python加载该mat文件,就不能用scipy了,要用Python的mat73包来加载。
第一步:安装mat73包
pip install mat73
第二步:加载数据
以前加载的的 非“v7.3”mat文件 代码:
(如果依旧用scipy来加载 “v7.3”格式的mat文件,会报错“NotImplementedError: Please use HDF reader for matlab v7.3 files”,所以这个包不能用来加载73格式的mat文件。)
import scipy.io as sio
path = '.\matrix_data' # 路径
data_mat_total = ['T0', 'T1', 'T2'] # 文件名
for sigle_mat in data_mat_total: # 用for遍历文件
path_mat = path + '\\' + sigle_mat
mat = sio.loadmat(path_mat) # 加载mat文件
现在加载的的 “v7.3”mat文件 代码:
注意在path_mat后面加上“.mat",否则会报错说”D:/matrix_data/T0 does not exist“。这可能与两个包的内置函数有关,scipy包可以直接通过文件名识别到mat文件,而mat73包仅通过文件名识别不出它是个mat文件,所以后面要补充好它的格式。
PS:mat73官网mat73 · PyPI
import mat73
path = '.\matrix_data' # 路径
data_mat_total = ['T0', 'T1', 'T2'] # 文件名
for sigle_mat in data_mat_total: # 用for遍历文件
path_mat = path + '\\' + sigle_mat + '.mat' # 注意后面要补充个“.mat”
mat = mat73.loadmat(path_mat) # 加载mat文件