2013-07-31 2 views
8

저는 구조화 된 데이터 (다른 모양의 ndarrays로 채워진 목록 및 사전)를 저장하기 위해 scipy.io를 사용했습니다. v7.3 매트 파일은 언젠가 오래된 v7 매트 포맷을 대체 할 것이므로 HDF5로 전환하여 내 데이터를 저장하려고합니다. 특히 h5py를 파이썬 용으로 저장하는 것이 좋습니다. 그러나, 나는 내가 쉬운만큼 내 사전을 저장할 수 없습니다 것으로 나타났습니다 :h5py는 파이썬 사전을 hdf5 그룹으로 자동 변환 할 수 있습니까?

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

는 대신, 파이썬 사전에 구조를 복제하기 위해 하나 하나를 h5py.create_group 사용해야합니다. 매우 큰 구조물의 경우 이것은 실현 불가능합니다. 파이썬 사전을 hdf5 그룹으로 자동으로 변환하는 쉬운 방법이 있습니까?

감사합니다.

-Shawn

+0

중복 가능성 [scipy 계층에 데이터를 저장하는 방법? (http://stackoverflow.com/questions/17977373/how-to-store-hierarchical-data-in-scipy) – Yossarian

답변

8

나는 이런 종류의 모든 시간을 할 필요가, 그리고 피클의 HDF5 버전을 만들기 위해 깔끔한 것이 결정 : NumPy와의 https://github.com/telegraphic/hickle

동기가 저장되었다 파이썬 사전을

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') 

당신은 (hickle를 설치 PIP) PyPi 통해 설치하거나 github의에서 다운로드 할 수 있어야한다 : 당신이 계신 같은 소리 배열.

건배 대니

관련 문제