Python保存数据为MATLAB格式的mat文件 (支持MATLAB结构体和cell数组)

    xiaoxiao2024-12-02  78

    利用SciPy库,可以将Python的dictionary数据保存为MATLAB的结构体mat文件,示例代码如下所示:

    # Construct MATLAB struct data # Here, bboxes is a numpy array results_inner = {'type': 'rect', 'res': bboxes, 'len': len(bboxes), 'annoBegin': 1, 'startFrame': 1} # Embed data in MATLAB cell array obj_arr = np.zeros((1,), dtype = np.object) obj_arr[0] = results_inner # Save file sio.savemat('np_cells.mat', {'results': obj_arr})

    将最终保存的文件放到MATLAB中打开,可以发现数据正确,以下是检查过程:

    首先,最外层是一个 1 × 1 1 \times 1 1×1的cell:

    打开这个cell,里面是一个MATLAB struct: 对这个struct进一步展开,可以看到内部数据: 上述代码在Python2环境下测试通过,Python3尚需验证。

    至此,Python保存数据为MATLAB格式的mat文件方法就全部介绍完成。


    参考资料:https://docs.scipy.org/doc/scipy/reference/tutorial/io.html

    最新回复(0)