【发布时间】:2015-02-24 12:49:28
【问题描述】:
我知道以前有人问过这个问题,但在我看来,仍然没有答案可以解释正在发生的事情,并且碰巧对我的情况不起作用。我有一个 matlab v7.3 文件,其结构如下,
---> rank <1x454 cell> ---> each element is <53x50 double>
f.mat
---> compare <1x454 cell> ---> each element is <53x50 double>
我希望这足够直截了当。所以我要做的是从名为“rank”的单元格数组中读取所有 454 个维度为 53x54 的数组,使用 h5py 库将其放入 python 中的 numpy 数组列表,如下所示:
import h5py
with h5py.File("f.mat") as f:
data = [np.array(element) for element in f['rank']]
我最终得到的是 HDF5 对象引用的数组列表:
In [53]: data[0]
Out[53]: array([<HDF5 object reference>], dtype=object)
我该如何处理/如何获取我需要的数组列表?
【问题讨论】: