Как открыть следующий файл mat в python - PullRequest
1 голос
/ 07 мая 2019

Я создал следующий файл .mat в MATLAB с флагом '-v7.3'. Мне нужен этот флаг из-за огромного размера данных. Я использовал следующую команду в MATLAB, чтобы сохранить этот файл.

   save('sample10_properties.mat', 'stats','-v7.3')

Вот ссылка на данные

https://drive.google.com/file/d/195fj6Tl1n_drS8R_A6bdbOEc3rGkiMqS/view?usp=sharing

Я вижу переменную stats в python, но я не знаю, как получить доступ. Любая помощь будет оценена.

import numpy as np 
import h5py 
f = h5py.File('sample10_properties.mat')
f.keys()   [u'#refs#', u'#subsystem#', u'stats']
f.values()  [<HDF5 group "/#refs#" (13951 members)>, <HDF5 group "/#subsystem#" (1   members)>, <HDF5 dataset "stats": shape (1, 6), type "<u4">]

Размер переменной stats равен (1390, 18). Спасибо

1 Ответ

1 голос
/ 07 мая 2019

Если вы хотите загрузить одно значение

import h5py
f = h5py.File('sample10_properties.mat','r')
myvar = f['myvar'].value

Все значения

import numpy as np
import h5py

f = h5py.File('simdata_020_01.mat','r')
variables = f.items()

for var in variables:
    name = var[0]
    data = var[1]
    print "Name ", name  # Name
    if type(data) is h5py.Dataset:
        # If DataSet pull the associated Data
        # If not a dataset, you may need to access the element sub-items
        value = data.value
        print "Value", value  # NumPy Array / Value

У меня время, поэтому я написал это очень быстро, извиняюсь за любые ошибкиили не соответствует вашим данным.

...