我遇到了一个奇怪的问题,找不到我做错的事情:
在Python中,我有一个简单的矩阵作为pandas dataframe(6000 x 1500矩阵)。正如我想将其读入Matlab,我将数据帧保存为HDF5,如下所示:
df.to_hdf("output.hdf","mytable", format="table")
保存工作正常,并使用pd.read_hdf回读Python,也可以正常工作。但是当我尝试将相同的文件导入Matlab时,如下所示:
data = h5read('output.hdf','/mytable')
我刚收到错误:
H5Dopen2 not a dataset
我在某处读到在数据集名称('/ mytable')中留一个空格,但只返回“对象不存在”错误。
对于可能出现的问题的任何提示都非常感谢。
答案 0 :(得分:1)
在Matlab中使用h5info,我发现在Matlab中我需要明确指定" table"在数据集中:
data = h5read('output.hdf','/mytable/table')
至少这会导入HDF5。奇怪的是,我没有在任何地方看到过这个。
但是,现在似乎某些行未正确导入,我需要进一步调查。