matlab 读取 hdf5,用h5py读取python中hdf5格式的MATLAB文件

在八度音阶中,我用单元格和矩阵创建了一个文件>> xmat = [1,2,3;4,5,6;7,8,9];

>> xcell = {1,2,3;4,5,6;7,8,9};

>> save -hdf5 testmat.h5 xmat xcell

在ipython和{}中,我发现这个文件包含2个组

^{pr2}$

矩阵组有一个type和value数据集:In [285]: F['xmat']

Out[285]:

In [286]: list(F['xmat'].keys())

Out[286]: ['type', 'value']

In [287]: F['xmat']['type']

Out[287]:

In [288]: F['xmat']['value']

Out[288]:

In [289]: F['xmat']['value'][:]

Out[289]:

array([[ 1., 4., 7.],

[ 2., 5., 8.],

[ 3., 6., 9.]])

细胞具有相同的type和{},但{}是另一组:In [291]: F['xcell']['type']

Out[291]:

In [292]: F['xcell']['value']

Out[292]:

In [294]: list(F['xcell']['value'].keys())

Out[294]: ['_0', '_1', '_2', '_3', '_4', '_5', '_6', '_7', '_8', 'dims']

...

In [296]: F['xcell']['value']['dims'][:]

Out[296]: array([3, 3])

我不得不使用[...]来获取单元格的值,因为它是一个0d数组:In [301]: F['xcell']['value']['_0']['value'][...]

Out[301]: array(1.0)

为了真正复制这个问题,我应该创建字符串单元格值,但我认为这很好地说明了如何将单元格存储为数据组中的命名数据集。在

我假设Octave h5存储与MATLAB兼容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值