Toccata in Nowhere.

Python H5FS 文件读写 Feat. MATLAB

2020.02.21

Python / Matlab 对于H5FS文件的读写

Python

库依赖

import h5py
import numpy as np

使用例

读取keys

with h5py.File('data.h5', 'r') as fr:
	print(fr.keys())

with h5py.File('data.h5', 'r') as fr:
	data = np.array(fr['randomList'])     # transfer to numpy format 

with h5py.File('data.h5', 'w') as fw:
	randomList = np.random.rand(np.random.randint(1,15)).tolist() #data generator 
	fw.create_dataset('randomList', data=randomList)

Tips

  • 使用with as方法进行文件读写,可有效避免遗忘.close()而导致文件无法使用。
  • 在写入文件的时候切记要标注data=xxx否则会报数据转换Error。

即,使用

with h5py.File('data.h5', 'r') as f:
	## Operations here

替代

f = h5py.File('data.h5', 'r')
## Operations here
f.close()

MATLAB

查询文件信息

h5disp('data_set.h5');

读取database

从data_set.h5读取其中索引为image的数据(矩阵):

data = h5read('data_set.h5','/image');

写入

testdata = uint8(magic(5));
h5create('my_example.h5','/dataset1',size(testdata));
h5write('my_example.h5','/dataset1',testdata);