Как загрузить матрицу матрицы Matlab различного размера в python - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно загрузить массив ячеек, сгенерированный в Matlab, в Python. Каждый элемент в ячейке является 2D-матрицей и различается по размеру матрицы.

Я пробовал оба scipy.io.loadmat, а также mat2py.loadmat, оба не могут дать желаемых результатов (например, список numpy массивов). В первом случае результирующие данные имеют тип object, а последний дает список, но не поддерживает форму элементов массива в ячейке.

1 Ответ

1 голос
/ 24 марта 2020

в Matlab, сохраните данные как JSON, используя JSONLab : https://github.com/fangq/jsonlab или сохраните данные как HDF5, используя EasyH5 : https://github.com/fangq/easyh5

, затем откройте python, импортируйте файл json, используя

import json
with open('mydata.json', 'r') as fid:
   data=json.load(fid, strict=false);

или

, импортируйте файл hdf5, используя

import h5py
covid19=h5py.File('mydata.h5','r');

, если экспортированный файл json содержит структуры JData, необходимо установить pyjdata (https://pypi.org/project/jdata/) через

pip install jdata

, а затем загрузить файл. json, используя

import jdata as jd
import numpy as np
newdata=jd.load('mydata.json')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...