如何使用 h5py 从 HDF5 数据集中读取字符串
Posted
技术标签:
【中文标题】如何使用 h5py 从 HDF5 数据集中读取字符串【英文标题】:How to read strings from HDF5 dataset using h5py 【发布时间】:2016-06-05 06:11:43 【问题描述】:我有一个 HDF5 文件,h5dump
s 如下(省略不相关内容)
HDF5 "file.h5"
GROUP "/"
DATASET "history"
DATATYPE H5T_STRING
STRSIZE H5T_VARIABLE;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
DATASPACE SIMPLE ( 1 ) / ( H5S_UNLIMITED )
DATA
(0): "some string"
我正在尝试使用 h5py 从 python (3.5) 中读取。到目前为止我的尝试是
import h5py
F = h5py.File('file.h5', "r")
H = list()
for x in F['history']:
H.append(str(x))
但是
for x in H:
print(x)
生产
b'some string'
而不是简单
some string
如何提取纯数据字符串?我需要做什么来代替str(x)
?
附:这是我的第一个python问题,请多多包涵。
【问题讨论】:
【参考方案1】:随便用
H = [x.decode() for x in F['history']]
此列表推导式将 H
作为字符串列表返回。
【讨论】:
以上是关于如何使用 h5py 从 HDF5 数据集中读取字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 h5py 读取只有数据集(无组)的 HDF5 文件?
如何使用 h5py 通过 szip 压缩访问 HDF5 数据集