我已经使用hdf5cpp库和固定大小的字符串创建了一个数据集(要求)。但是,当使用pytables或panda加载时,字符串始终表示为:
b'test\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
“test”的字符串值,后面有填充。有人知道抑制或不显示此填充数据的方法吗?我真的只想展示“测试”。我意识到这可能是正确的行为
我的hdf5cpp字符串设置:
strType = H5Tcopy(H5T_C_S1);
status = H5Tset_size(strType, 36);
H5Tset_strpad(strType, H5T_STR_NULLTERM);
我帮不了你的C代码。可以在Pytables中使用填充字符串。我可以读取由创建混合类型的结构数组(包括填充字符串)的C应用程序编写的数据。(注意:在复制带填充的NumPy结构数组时出现了一个问题。该问题在3.5.0中已修复。有关详细信息,请阅读以下内容:PyTables GitHub Pull 720。)
下面是一个示例,它显示了对PyTables创建的文件的正确字符串处理。也许这会帮助你调查你的问题。检查数据集的属性将是一个良好的开端
添加以下示例以演示具有int和固定字符串的复合数据集。这在PyTables中称为
Table
(数组总是包含同构值)。这可以通过多种方式实现。我展示了我喜欢的两种方法:description=
或obj=
参数。当你已经有了所有的数据并且可以存储在内存中时,这是很有用的李>description=
创建记录数组数据类型和引用 参数然后使用.append()
方法添加数据。这是 当内存中无法容纳所有数据或需要向现有表中添加数据时,此功能非常有用李>代码如下:
相关问题 更多 >
编程相关推荐