写一个逗号分隔的字符串属性到HDF5数据集c++
Writing a comma separated string attribute to HDF5 dataset C++
我正试图将逗号分隔的字符串属性写入HDF5数据集。我使用
创建数据集dset = H5Dcreate(file, "dset1", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT);
数据基本上是列状的,它有像
这样的字段Timestamp Prop1 Prop2
现在我知道这是一个hack,但它足以满足我的目的,以某种方式标记dset与字符串,如"TimeStamp, Prop1, Prop2"。我希望在python中读取HDF5文件,可以轻松读取字符串。我认为可以使用H5AWrite方法。但是我不确定我们是否可以用它写字符串,我的问题是
1)如何使用方法编写以逗号分隔的属性
2)如何在Python中打开文件时读取它。
我在c++中找不到任何例子来做它。
下面是如何将属性写为像column1,column2,column3
这样的字符串(使用C API,因为您似乎在使用它,尽管要求使用c++):
hid_t atype = H5Tcopy(H5T_C_S1);
H5Tset_size(atype, H5T_VARIABLE);
hid_t attr = H5Acreate(dset, "columns", atype, H5S_SCALAR, H5P_DEFAULT);
H5Awrite(attr, atype, "column1,column2,column3");
H5Aclose(attr);
然后在Python中读取:
import h5py
file = h5py.File("my_file.h5", "r")
dset = file["/my_dset"]
columns = dset.attrs["columns"].split(",")
相关文章:
- C++ 命名参数习惯用语 - 未设置字符串属性
- c++ 构造函数 将 1 个字符串参数转换为 3 个属性
- 如何将字符串属性设置为 QTreeWidgetItem?
- 字符串的异常行为会追加属性 C++
- 将 Qt 属性枚举值打印为键字符串
- cocos2dx 将值强制转换为属性字符串
- 如何使用 boost 属性树来解析 boost 中 json 字符串中的数组中的元素?
- MFC SDI在更改属性时从INI读取并更新视图字符串
- 如何在 QML 文件中查找属性名称为字符串的 QML 上下文属性
- 在C++中使用字符指针将字符串保存到类属性
- 如何将标准::字符串格式的 JSON 解码为 Boost 属性树
- HDF5存储不同大小的字符串属性
- 如何通过字符串名称访问结构属性
- C++11 字符串属性和 gcc 版本
- QML 引擎不隐式将布尔字符串 QVarient 转换为布尔属性
- 提升精神继承的字符串属性填充<int> ASCII 字符中的向量
- 将属性树提升为字符串
- C++字符串上的静态属性初始化错误
- 提升因果报应-从一个属性生成多个字符串
- Boost Library函数将JSON格式的属性树转换为点分隔的字符串