如何将不同大小的matlab单元矩阵加载到python中



我需要将Matlab中生成的单元数组加载到Python中。单元中的每个元素都是2D矩阵,并且矩阵大小不同。

我同时尝试了scipy.io.loadmatmat2py.loadmat,两者都无法给出所需的结果(例如,numpy阵列的列表(。前者的结果数据是object类型的,后者给出了一个列表,但不保持单元中数组元素的形状。

在matlab中,使用JSONLab将数据保存为JSON:https://github.com/fangq/jsonlab或者使用EasyH5将数据保存为HDF5: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')

相关内容

  • 没有找到相关文章

最新更新