python3_h2py_hdf5_遍历_查看文件结构
python3_h2py_hdf5_遍历_查看文件结构
转载注明来源: 本文链接 来自osnosn的博客,写于 2020-03-26.
- pandas 的 hdf5 支持函数,好像没办法把 HDF5 文件的结构列出来。
 - 只好使用 
h5py,把HDF5文件的结构打印出来。输出的是文本信息- python 3.6, 以下都是用 
pip3 install安装的 - h5py 2.10
 - numpy 1.18.2
 - pandas 1.0.3 (hdf5 的支持, 需要安装 tables)
 - tables 3.6.1
 
 - python 3.6, 以下都是用 
 
#!/usr/bin/python3
# -- coding:utf8 --
fname='myfilename.hdf5'
import h5py
import numpy as np
def h5list(f,tab):
    mysp=tab[:-1] + '  |-'
    for k in f.keys():
        d = f[k]
        if isinstance(d,h5py._hl.group.Group):
            print(mysp,'Group.',d.name,'len:%d'%len(d))
            mysp2=mysp[:-1]+ '  |-*'
            for vv in d.attrs.keys():  # 打印属性
                print(mysp2,end=' ')
                print('%s = %s'% (vv,d.attrs[vv]))
            h5list(d,mysp)
        elif isinstance(d,h5py._hl.dataset.Dataset):
            print(mysp,'Dataset.',d.name,'(size:%d)'%d.size)
            mysp1=mysp[:-1]+ '  |-'
            print(mysp,end=' ')
            for vv in d.dtype.names:
                print(vv,end=',')
            print()
            mysp2=mysp1[:-1]+ '  |-*'
            for vv in d.attrs.keys():  # 打印属性
                print(mysp2,end=' ')
                print('%s = %s'% (vv,d.attrs[vv]))
            #print(d[:12])  # 打印12组数据看看
        else:
            print('??->',d,'Unkown Object!')
f = h5py.File(fname,'r')
h5list(f,'|')
f.close()
  
 SRE实战  互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。  
                    更多精彩
		
													
													
													
													
	
		
