python 笔记:h5py 读取HDF5文件
•
Python
1 HDF5文件
- HDF5 是 Hierarchical Data Format version 5 的缩写,是一种用于存储和管理大量数据的文件格式
- 一个h5py文件可以看作是 “dataset” 和 “group” 二合一的容器
- dataset : 数据集,像 numpy 数组一样工作
- group : 包含了其它 dataset 和 其它 group

2 读取文件
以t2vec的 data/porto-vocab-dist-cell100.h5 为例
import h5py import numpy as np data_dir='/home/ruizhichai/t2vec/data/porto-vocab-dist-cell100.h5' file=h5py.File(data_dir,'r') #打开文件
2.1 keys:获取h5文件中所有组和数据集的名称
file.keys() #
2.2 visit:根据指定的函数来遍历.h5文件的组和数据集
file.visit(lambda x: print(x)) ''' D V '''
2.3 读取每个数据集的内容
file['D'][:].shape,file['D'][:]
'''
((18866, 10),
array([[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
[ 0. , 0. , 0. , ..., 0. ,
0. , 0. ],
...,
[ 412.31056256, 400. , 316.22776602, ..., 223.60679775,
141.42135624, 200. ],
[1486.60687473, 1389.24439894, 1476.48230602, ..., 447.2135955 ,
100. , 0. ],
[ 761.57731059, 707.10678119, 670.82039325, ..., 100. ,
0. , 200. ]]))
'''
3 写HDF5文件
data_dir='tst.h5' file=h5py.File(data_dir,'w')
3.1 创建组
grp_1=file.create_group('group_1')
grp_2=file.create_group('group_2')
3.2 向组/file根目录写文件
lst1=np.arange(10)
lst2=np.arange(5,8)
lst3=np.arange(6,10,2)
grp_1.create_dataset("lst1",data=lst1)
grp_2.create_dataset("lst2",data=lst2)
file.create_dataset("lst3",data=lst3)
file.keys()
#
file['group_1'].keys()
#
file['group_1']['lst1'][:]
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/b9e0a43417.html
