h5py是否能够自动将python词典转换为hdf5组?

时间:2013-07-31 17:10:49

标签: hdf5 h5py

我一直在使用scipy.io来保存我的结构化数据(填充了不同形状的ndarray的列表和词典)。由于v7.3 mat文件有一天会取代旧的v7 mat格式,我正在考虑切换到HDF5来存储我的数据,更具体地来说是h5py for python。但是,我注意到我无法保存我的词典:

import scipy.io as sio
data = {'data': 'Complicated structure data'}
sio.savemat('fileName.mat', data)

相反,我必须逐个使用h5py.create_group来复制python字典中的结构。对于非常大的结构,这是不可行的。有没有一种简单的方法可以自动将python词典转换为hdf5组?

谢谢!

-Shawn

1 个答案:

答案 0 :(得分:9)

我需要一直做这种事情,并决定制作一个hdf5版本的泡菜是很好的: https://github.com/telegraphic/hickle

动机是存储numpy数组的python词典,这听起来像你所追求的:

import hickle as hkl
import numpy as np
data = {
        'dataset1' : np.zeros((100,100)),
        'dataset2' : np.random.random((100,100))
        }
hkl.dump(data, 'output_filename.hkl')

你应该能够通过PyPi(pip install hickle)安装它,或者从github下载它。

干杯 丹尼