matlab v7.3-Datei über h5py @ in die Python-Liste der Numpy-Arrays einles

Ich weiß, dass dies schon einmal gefragt wurde, aber meiner Meinung nach gibt es immer noch keine Antworten, die erklären, was los ist und nicht für meinen Fall funktionieren. Ich habe eine Matlab v7., 3-Datei, die so aufgebaut ist,

           ---> rank <1x454 cell>    ---> each element is <53x50 double>
   f.mat
           ---> compare <1x454 cell> ---> each element is <53x50 double>

Ich hoffe das ist klar genug. Ich versuche also, alle 454 Arrays mit den Dimensionen 53x54 aus dem Zellenarray 'rank' in eine Liste von Numpy-Arrays in Python zu lesen, indem ich die h5py-Bibliothek wie folgt verwende:

import h5py

with h5py.File("f.mat") as f:
    data = [np.array(element) for element in f['rank']]

was ich am Ende habe, ist eine Liste von Arrays mit HDF5-Objektreferenzen:

In [53]: data[0]
Out[53]: array([<HDF5 object reference>], dtype=object)

Was mache ich damit / wie bekomme ich die Liste der benötigten Arrays?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage