检查 Python 中的 .h5 文件
Inspect .h5 file in Python
我有一个关于 .h5 文件的问题,我真的不知道它包含什么。实际上,我想使用 Python 检查文件中的内容,但每次我用 pandas:
打开它
df = pd.read_hdf('file.h5')
它returns一个错误:
ValueError: No dataset in HDF5 file.
知道如何成功打开并检查它吗?
谢谢。
Pandas 更像是一个用于 CSV 或其他分隔符分隔值的库。
所以,使用h5py
。
>>> import h5py
>>> f = h5py.File('mytestfile.h5', 'r')
File 对象是你的起点。h5py.File 就像一个 Python 字典,因此我们可以检查键,
>>> list(f.keys())
['mydataset']
根据我们的观察,文件中有一个数据集mydataset。让我们检查数据集作为数据集对象
>>> 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])
我有一个关于 .h5 文件的问题,我真的不知道它包含什么。实际上,我想使用 Python 检查文件中的内容,但每次我用 pandas:
打开它df = pd.read_hdf('file.h5')
它returns一个错误:
ValueError: No dataset in HDF5 file.
知道如何成功打开并检查它吗? 谢谢。
Pandas 更像是一个用于 CSV 或其他分隔符分隔值的库。
所以,使用h5py
。
>>> import h5py
>>> f = h5py.File('mytestfile.h5', 'r')
File 对象是你的起点。h5py.File 就像一个 Python 字典,因此我们可以检查键,
>>> list(f.keys())
['mydataset']
根据我们的观察,文件中有一个数据集mydataset。让我们检查数据集作为数据集对象
>>> 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])