2016-06-07 2 views
1

두 언어, 즉 Matlab과 Python으로 작업하고 있습니다. Matlab에 5 개의 변수를 만들었습니다.hdf5 형식의 De-referening?

enter image description here

각 셀 (128 × (:))의 크기는 다음과 같이 :

enter image description here

I를 다음과 같이 각각의 변수는 셀 사이즈 - (150x1)이 이 작업 공간을 hdf5 형식 인 -v7.3을 사용하여 .mat 파일에 저장했습니다.

파이썬에서는 h5py를 사용하여 .mat 파일을로드했습니다. 변수를로드 할 수 있었지만 각 변수에서 값을 추출 할 수 없습니다.

이 문장은 "array ([[], dtype = object)"로 표시되지만 값은 파이썬 작업 공간으로로드되지 않습니다. 변수에 A라는 150 개의 셀을 모두로드하고 싶습니다. hdf5 참조를 어떻게 참조 해제합니까?

답변

3

아마도 데이터를 일반 hdf5 파일에 저장해야합니다. .mat 파일은 hdf5를 기반으로하지만 일반 hdf5 파일은 아닙니다.

f[ref] 

fh5py.File 객체이고 ref<HDF5 object reference> 객체입니다

MATLAB에서는 사용, 기본적으로 해제 참조를 위해 http://es.mathworks.com/help/matlab/import_export/exporting-to-hierarchical-data-format-hdf5-files.html

+0

고맙습니다. 나는 분명히 그것을 고려할 것입니다. 그러나 매트 파일을 사용하여 이것을 해결할 수있는 가능성이 있습니까? –

+0

샘플 코드를 사용해보십시오. –

+0

코드는 다음과 같습니다 : 'import h5py' 'f = h5py.File ('D :/Thesis/python svm/AFN.mat', 'r')' [http] http : //stackoverflow.com/questions/27670149/read-matlab-v7-3-file-into-python-list-of-numpy-arrays-via-h5py)하지만 세포의 크기는 일정했습니다. –