如何从c ++中的HDF5文件中读取属性名称和数据集名称,这里我不知道HDF5文件中有哪些属性

时间:2017-12-06 04:13:33

标签: c++ hdf5

我有一个HDF5文件说Select.h5,但我不知道除文件名之外的任何文件,如何使用c ++知道该文件名中的属性名称和数据集名称

2 个答案:

答案 0 :(得分:0)

我们可以使用组ID实现此目的,一旦您创建了HdF5文件,默认组将创建名称为'/'(表示根组),

所以从该组我们可以使用DataSet元数据获取HDF5文件的DataSet信息,我们获取有关属性的信息,包括其名称

答案 1 :(得分:0)

在C ++中使用HDFql(http://www.hdfql.com),您可以打开名为“example.h5”的HDF5文件,如下所示:

HDFql::execute("USE FILE example.h5");

从那里,检索存储在组“/”(即HDF5文件的根目录)中的对象名称(即组,数据集,属性)可以按如下方式完成:

HDFql::execute("SHOW /");

仅检索存储在“/”中的属性包括关键字ATTRIBUTE:

HDFql::execute("SHOW ATTRIBUTE /");

要检索HDF5文件中存在的所有对象(从“/”开始),请使用关键字“LIKE **”:

HDFql::execute("SHOW / LIKE **");

要检索HDF5文件中存在的所有数据集(从“/”开始):

HDFql::execute("SHOW DATASET / LIKE **");