python读取matlab数据_Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析

本文详细介绍了如何使用Python的h5py库读取包含cell结构的MATLAB .mat文件。通过遍历cell并访问其元素,将数据转换为list结构,并处理数据转置问题,实现对复杂MATLAB数据的读取。
摘要由CSDN通过智能技术生成

采用 Python 读取 matlab 中 .mat文件的方法有很多,中外文的论坛上都不少,相关博文

详址:http://blog.csdn.net/u013630349/article/details/47090299

但是,在读取matlab文件的时候,往往不是一层 .mat 就足以解决问题的,.mat 文件中可能是存放的 cell(100*200) 数据, cell(100*200)数据中又分为多个 cell 。那么,如何处理这样的数据结构,实现Python对matlab这一类型数据的读取呢,现对该问题,详解如下:

【问题一】

matlab之中有FEAT_Name.mat文件,该文件的形式如下

FEAT_Name.mat <1x10 cell>——>each element is <600x5755 double>

先要实现对FEAT_Name元组的首个矩阵的读取操作,代码实现如下

myfile=h5py.File('F:\\wfpdm\\20150702_2105\\FEAT_Name.mat','r')

data = [myfile[element[0]][:] for element in myfile['FEAT_Name']]

print data[1].shape

Out: (5755,600)

解析

1)for element in myfile[‘FEAT_Name‘] 实现了对 myfile[‘FEAT_Name‘] 的 cell 的遍历;

2)myfile[element[0]]恰好可以理解为myfile[element],

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值