本人最近在做心电信号的处理,有时候会用到npy文件,但官方给的数据库中并没有npy文件,只有dat、ecg、st、hea文件,于是,我先先去PhysioBank ATM将心电信号数据导出为mat格式文件,通过如下语句便可以将mat转换为npy。
注意:只有mat文件里全都是数据时才可直接通过np.save转为npy格式,如果mat文件里不仅仅是数据,还包括一些非数据的内容,比如标签之类的,则比如先将mat文件里的数据提取完后才能进行转换。
以我处理的心电信号为例来说,它是一个字典类型dict,里面包括一些属性,通过相应的语句可以看出它里面包含的属性有:'__header__', '__version__', '__globals__', 'val'这四个,我刚开始对于这四个属性并不了解,不清楚各个里面存了什么内容,将各个属性打印后,发现val里面存的是数据,因此,我将val里面数据提出来,便可以将其转为npy文件。
导入数据:
data=sio.loadmat('G:\MIT_BPD\mit-bih-polysomnographic-database-1.0.0\slp66m.mat')
如果mat里全都是数值,则可以通过如下语句转为npy
np.save('G:\MIT_BPD\mit-bih-polysomnographic-databas