如何通过h5py读取v7.3 mat文件?

如何通过h5py读取v7.3 mat文件?,第1张

如何通过h5py读取v7.3 mat文件?

Matlab
7.3文件格式使用h5py并非十分容易。它依赖于HDF5参考,参见。h5py参考文献文档。

>>> import h5py>>> f = h5py.File('test.mat')>>> list(f.keys())['#refs#', 'struArray']>>> struArray = f['struArray']>>> struArray['name'][0, 0]  # this is the HDF5 reference<HDF5 object reference>>>> f[struArray['name'][0, 0]].value  # this is the actual dataarray([[111],       [110],       [101]], dtype=uint16)

阅读

struArray(i).id

>>> f[struArray['id'][0, 0]][0, 0]1.0>>> f[struArray['id'][1, 0]][0, 0]2.0>>> f[struArray['id'][2, 0]][0, 0]3.0

请注意,Matlab将数字存储为大小为(1,1)的数组,因此最终存储

[0, 0]
了该数字。

阅读

struArray(i).data

>>> f[struArray['data'][0, 0]].valuearray([[  1.],       [  2.],       [  3.],       [  4.],       [  5.],       [  6.],       [  7.],       [  8.],       [  9.],       [ 10.]])

要读取

struArray(i).name
,必须将整数数组转换为字符串:

>>> f[struArray['name'][0, 0]].value.tobytes()[::2].depre()'one'>>> f[struArray['name'][1, 0]].value.tobytes()[::2].depre()'two'>>> f[struArray['name'][2, 0]].value.tobytes()[::2].depre()'three'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存