python - 如何使用 h5py 读取只有数据集(没有组)的 HDF5 文件?

标签 python python-2.7 hdf5 h5py hdf

我有 HDF5 文件,我想使用 Python 模块 h5py(在 Python 2.7 中)打开这些文件。

当我有一个包含组和数据集的文件时,这很容易:

import h5py as hdf

with hdf.File(relative_path_to_file, 'r') as f:
    my_data = f['a_group']['a_dataset'].value

但是,在我目前的情况下,我没有组。只有数据集。不幸的是,无论我尝试什么,我都无法访问我的数据。以下均无效(均因 KeyErrors 或 ValueErrors 而中断):

my_data = f['a_dataset'].value #KeyError

my_data = f['/a_dataset'].value #KeyError

my_data = f['/']['a_dataset'].value #KeyError

my_data = f['']['a_dataset'].value #ValueError

my_data = f['.']['a_dataset'].value #KeyError

如果没有解决方案,我可以重新制作我的文件以获得一个组。看起来确实应该有一个解决方案,但是......

h5py 似乎没有看到任何键:

f.keys()
[]

最佳答案

我发现了这个问题,我认为这是 h5py 应该解决的问题。

问题(我最初忘记在问题中详细说明,现在已编辑)是我使用相对 文件路径打开 hdf5 文件。当我使用 absolute 文件路径时,一切正常。

可悲的是,这会给我带来问题,因为我的代码旨在在不同的机器上可移植地运行......

感谢 gspr 和 jimmyb 的帮助:-)

关于python - 如何使用 h5py 读取只有数据集(没有组)的 HDF5 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547745/

相关文章:

python - Pandas:通过提供标题名称来读取列

linux - 使用 CMake 在库中查找符号

python - Pandas read_hdf 按日期和时间范围查询

python - 运行 unittest discover 忽略特定目录

python - NLopt 无效参数

python - 如何在 python 中查找 csv 文档中的特定行

python - 在具有 500e6 行的 hdf5 pytable 中查找重复项

python - 如何模拟 xml 数据交换以在 python 中编写单元测试

python - 无法使用Python将CSV数据导入MySQL数据库

python - Python 中的循环数组索引