Python与HDF5数据

  • hdf5的简单使用
# -*- coding: gbk -*-
# 该代码用于介绍hdf5的使用方法

import numpy as np
import h5py

# 创建一个hdf5文件
f = h5py.File('test.h5', 'w')
f.close()

# 写入数据
f = h5py.File('test.h5', 'w')
data = np.random.rand(100, 100)
f['data'] = data
f['subdata'] = subdata = np.random.rand(10, 10)
arr = np.array([5,2])
f['arr'] = arr
f.close()

# 读取数据
f = h5py.File('test.h5', 'r')
data = f['data'][:]
subdata = f['subdata'][:]
dset = f["arr"]
#f.close()

'''print(data)  # 输出数据
#print(subdata)  # 输出子数据
print(dset)  # 输出数组'''
print(dset.shape) # 输出数组形状
print(dset.dtype) # 输出数组数据类型
out = dset[...]
print(type(out)) # 输出数组类型

# 注意:Dataset的数据是在磁盘上⽽不是内存中
  • 使用visitor进行多级遍历
  • 输出所有节点名称
# -*- coding: gbk -*-
# 使用visitor模型多级遍历

import numpy as np
import h5py

#创建一个简单文件
f = h5py.File('visitor_test.h5', 'w')
data = [1, 2, 3, 4, 5]
data1 = np.array([1, 2, 3, 4, 5,6,7,8,9,10])
data2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
f.create_dataset('top_dataset',data=data)
f.create_group('top_group1')
f.create_group('top_group1/sub_group1')
f.create_dataset('top_group1/sub_group1/subsub_group1',data=data1)

f.create_group('top_group2')
f.create_dataset('top_group2/sub_group2',data=data2)

def print_name(name):
    print(name)

f.visit(print_name) # 输出所有节点名称

f.close()
  • 结果:

  • 对应h5文件:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值