【问题标题】:Inspect .h5 file in Python在 Python 中检查 .h5 文件
【发布时间】:2020-04-18 03:58:09
【问题描述】:

我有一个关于 .h5 文件的问题,我真的不知道它包含什么。实际上,我想使用 Python 检查文件中的内容,但每次我用 pandas 打开它时:

df = pd.read_hdf('file.h5')

它返回一个错误:

ValueError: No dataset in HDF5 file.

知道如何成功打开和检查它吗? 谢谢。

【问题讨论】:

    标签: python pandas hdf5 h5py


    【解决方案1】:

    Pandas 更像是一个用于 CSV 或其他分隔符分隔值的库。

    所以,请使用h5py

    >>> import h5py
    >>> f = h5py.File('mytestfile.h5', 'r')
    

    File 对象是你的起点 .h5py.File 就像一个 Python 字典,因此我们可以检查键,

    >>> list(f.keys())
    ['mydataset']
    

    根据我们的观察,文件中有一个数据集,mydataset。让我们将数据集作为 Dataset 对象进行检查

    >>> dset = f['mydataset']
    

    我们得到的对象不是一个数组,而是一个 HDF5 数据集。与 NumPy 数组一样,数据集也有形状和数据类型:

    >>> dset.shape
    (100,)
    >>> dset.dtype
    dtype('int32')
    

    它们还支持数组样式的切片。这是您从文件中的数据集读取和写入数据的方式:

    >>> dset[...] = np.arange(100)
    >>> dset[0]
    0
    >>> dset[10]
    10
    >>> dset[0:100:10]
    array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
    

    【讨论】:

    • 当我尝试list(f.keys()) 时,我得到了这个错误:TypeError: h5py objects cannot be pickled。谁能帮帮我?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多