python的h5py读取matlab生成的.mat文件
这次希望把matlab中保存的mat文件读取到python中,本来以为是要h5py很容易可以读取,但是发现还是遇到了坑
首先,看看报错OSError: Unable to open file (File signature not found)
不应该呀,在matlab中读取这个文件是没有问题的。于是,终于找到了解决方案,是由于matlab保存文件版本的问题。
在matlab中保存该mat文件时,最后面要加一个version参数,该参数可以是‘-v4’,‘-v5’,‘-v6’,‘-v7’,‘-v7.3’
将原来的
save(filename,'nodule_candidates_features');
改为
save(filename,'nodule_candidates_features', '-v7.3');
即可。
然后可以使用,以下方法读取~~
import h5py
path = 'result/detection .mat'
data = h5py.File(path,'r')
print(list(data.keys()))