HDF5快速指南
1.核心概念
一个HDF5文件是一种存放两类对象的容器:dataset和group。
Dataset是类似于数组的数据集Group是类似文件夹一样的容器,存放dataset和其他group。
在使用HDF5的时候需要牢记一句话:groups类比词典,dataset类比Numpy中的数组。
HDF5的dataset虽然与Numpy的数组在接口上很相近,但是支持更多对外透明的存储特征,如数据压缩,误差检测,分块传输。
2.创建和读取HDF5文件
1)创建HDF5文件
1 | import h5py |
然后我们借助文件对象的一系列方法添加数据。其中create_dataset用于创建给定形状和数据类型的空dataset。
1 | dset = f.create_dataset("mydataset", (100,), dtype='i') |
我们也可以用现有的 Numpy 数组来初始化一个 dataset
1 | arr = np.arange(100) |
HDF代表Hierarchical Data Format(分层数据格式)。HDF5文件中group对象类似于文件夹,我们创建的文件对象本身就是一个group,称为root group.
创建subgroup是使用create_group的方法实现的。
1 | grp = f.create_group("subgroup") |
2)读取HDF5文件
1 | #HDF5创建 |
3)属性
HDF5的一个很棒的特点是你可以在数据旁边存储元数据。所有的group和dataset都支持叫做属性的数据形式。属性通过attrs成员访问,类似于python中词典格式。
1 | dset.attrs['temperature'] = 99.5 |
