如何将Python的.npz文件保存为MATLAB的.mat文件?
一次性将.npz文件所有数组保存为.mat文件的简便方法
嘿,完全不用写循环脚本就能搞定!借助scipy.io.savemat和numpy的加载特性,几步就能一次性导出所有数组,非常省心。
具体操作步骤:
- 先导入所需的库:
import numpy as np from scipy.io import savemat - 加载你的.npz文件:
这里npz_data = np.load('A.npz')np.load返回的NpzFile对象本身就是类字典的结构,天然包含了你所有的arr_0、arr_1、arr_2数组。 - 直接一次性保存为.mat文件:
savemat('A.mat', dict(npz_data))
完成后,生成的A.mat文件会完整保留原.npz中所有数组的名称(arr_0、arr_1、arr_2)和对应的数据,全程不需要逐个处理或写循环。
额外小技巧:
如果想要给数组重命名(比如把arr_0改成my_first_data),可以手动构建一个字典再保存:
renamed_data = { 'my_first_data': npz_data['arr_0'], 'my_second_data': npz_data['arr_1'], 'my_third_data': npz_data['arr_2'] } savemat('renamed_A.mat', renamed_data)
内容的提问来源于stack exchange,提问作者Shinobii




