【发布时间】:2019-09-03 16:03:18
【问题描述】:
假设我有一个包含不同列的表。这些列有不同的类型。例如:
col1, col2, col3
1.1 "hello" 1
2.2 "world" 2
...
这里col1 是float 或double,col2 是string 和col3 是int。
现在我想使用 C++ 将这些数据存储在 hdf5 文件中。我该怎么做?
我已经找到this post 对 Python 有同样的问题。但我无法弄清楚如何在 C++ 中执行此操作,因为据我所知,您必须指定整个数据集的类型。
编辑: 有没有办法让一列有数组,比如说整数数组?例如:
col1, col2, col3, col4
1.1 "hello" 1 {1, 3}
2.2 "world" 2 {1, 2, 3}
...
【问题讨论】:
-
Igor,HDF5 支持每列具有不同数据类型的表。我使用 Python,这些是用 NumPy 记录数组定义的。我不是 C++ 开发人员。据我了解,您需要创建一个定义不同变量类型的数据结构。
-
我不知道该怎么做(而且我不认为我用来在 C++ 中读/写的包装库 HighFive 可以做到这一点)。一种解决方法是为每列创建一个数据集并将这些数据集分组。
-
我不确定你问题的第一部分,也许在这里:support.hdfgroup.org/HDF5/doc/cpplus_RM/examples.html 你会发现一些有用的东西。关于第二部分,stackoverflow 上有并且在这里得到了完美的解释。 stackoverflow.com/questions/35580279/…