我需要将Matlab
中生成的单元数组加载到Python
中。单元中的每个元素都是2D矩阵,并且矩阵大小不同。
我同时尝试了scipy.io.loadmat
和mat2py.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')