如何批量合并多个.npy文件为数组并转换为Matlab矩阵?
批量转换并合并.npy文件为Matlab矩阵
你可以用Python的os模块遍历文件夹内所有.npy文件,批量加载后合并成一个数组,再导出为Matlab格式。完整代码如下:
from scipy.io import savemat import numpy as np import os # 替换为你的.npy文件所在文件夹路径 npy_folder = r"C:\Desktop\Python" all_arrays = [] # 遍历文件夹,筛选并加载所有.npy文件 for filename in os.listdir(npy_folder): if filename.endswith(".npy"): file_path = os.path.join(npy_folder, filename) arr = np.load(file_path) all_arrays.append(arr) # 合并数组:axis=0为垂直堆叠(按行),axis=1为水平堆叠(按列),按需修改 merged_array = np.concatenate(all_arrays, axis=0) # 保存为Matlab矩阵,Matlab中可通过变量名"data"访问 savemat("merged_matlab_matrix.mat", {"data": merged_array})
注意事项:
- 确保所有.npy文件的数组维度匹配,否则无法直接合并。如果维度不一致,可根据需求改用
np.vstack(仅处理二维数组垂直堆叠)或np.hstack(仅处理二维数组水平堆叠) - 可修改
savemat中的字典键名(比如把"data"改成你想要的变量名),Matlab加载后会用这个键名作为变量名
内容的提问来源于stack exchange,提问作者Gala Solis
相关产品推荐
相关产品推荐

