【发布时间】:2020-06-21 14:24:24
【问题描述】:
我有一个使用 h5py 读取的 mat 文件,我需要提取数据 en np.arrays 或其他形式来分析它并绘制它。
in: data = h5py.File('footprints/HuascoFP.mat','r')
FP = data["FP"]
FP.keys() # ---> ['EC', 'LAS', 'MWS', 'OMS', 'datenumber', 'meteo']
OMS = FP["OMS"]
OMS.keys() #----> ['fp1D', 'fp2D', 'posR', 'posT']
fp2d = OMS["fp2D"]#----> ['FP', 'x', 'y']
FP =fp2d["FP"]
print(FP)
out:<HDF5 dataset "FP": shape (475, 1), type "|O">'
如果我尝试“FP[:2]”,我得到:([[], []], dtype=object) 没有任何数据。
希望得到你们的帮助
【问题讨论】:
-
您如何看待使用 pandas 读取 h5 文件和绘图?
-
您是否通过使用“save -v7.3”选项保存 MAT 文件来获取 HDF5 格式来创建此文件?如果是这样,请准备好进行一些严肃的编码。 Matlab 使用“对象引用”来访问数据。如果您是 HDF5 和 h5py 的新手,这些都不容易使用(根据经验)。您必须解码
dtype=object值才能找到它指向的对象。然后你读那个对象。 SO中有一些例子。 (我写了一篇展示如何读取 .MAT/HDF5 格式的 SVHN 数据集。) -
谢谢@kcw78,你有你提到的例子吗?事实上,谁给文件保存在“v7.3”中。我打印显示的输出实际上是: [
] :(.