如何检索存储字符串的HDF5数据集
本文介绍了如何检索存储字符串的HDF5数据集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用下面的命令创建H5
数据集,该数据集使用dtype
作为S10
来存储字符串数组。
hdf5
文件的组中。我甚至可以在HDF5
查看器中看到正确的数据。但是,当我使用group.keys()
时,我看不到数据集。数据集的图标也以不同的方式显示,如下图所示:
另外,当我在终端上启动数据集时,输出如下
[b'str', b'str2', b'str3', ...]
字符串int b‘’格式。
如何检索这样的数据集?
Check this link to see the difference in the icon of the dataset
推荐答案
hdf5(和h5py)将字符存储为字节字符串,而不是unicode字符。因此,在与HDF5和Python之间来回转换时,您必须转换数据类型。您可以对数组使用.astype()
或在单个元素中使用.encode()/.decode()
。
这里有一个简单的示例来演示该行为。它首先创建一个模仿您的文件,然后提取数据:一次作为默认字节字符串(‘S10’),然后使用.astype('U')
将数组转换为Unicode。
这篇关于如何检索存储字符串的HDF5数据集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!