【问题标题】:How to read strings from HDF5 dataset using h5py如何使用 h5py 从 HDF5 数据集中读取字符串
【发布时间】:2016-06-05 06:11:43
【问题描述】:

我有一个 HDF5 文件,h5dumps 如下(省略不相关内容)

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问题,请多多包涵。

【问题讨论】:

    标签: python python-3.x hdf5 h5py


    【解决方案1】:

    随便用

    H = [x.decode() for x in F['history']]
    

    此列表推导式将 H 作为字符串列表返回。

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2014-06-11
      • 2015-06-04
      • 2015-04-17
      • 2015-10-29
      • 2021-05-14
      • 2018-07-13
      • 2016-04-08
      • 2016-03-23
      相关资源
      最近更新 更多