如何将Matlab(R2022a)变量迁移至Python(3.10)?loadmat调用失败求助
解决SciPy调用loadmat()函数不存在的问题
问题出在loadmat()函数并不在SciPy的顶层模块中,而是隶属于scipy.io子模块,直接通过scipy.loadmat调用自然会找不到函数。
你可以用以下两种正确方式调用:
- 方式一:导入
scipy.io子模块后调用
import scipy.io scipy.io.loadmat('myVars.mat')
- 方式二:直接从
scipy.io导入loadmat函数
from scipy.io import loadmat loadmat('myVars.mat')
额外注意:
- 确保
myVars.mat文件的路径正确,如果文件不在当前工作目录,需要传入完整路径 - 若你在Matlab中保存的是v7.3版本的mat文件,
scipy.io.loadmat无法直接读取,需要用h5py库处理:
import h5py with h5py.File('myVars.mat', 'r') as f: # 查看文件内的所有变量名 print(list(f.keys())) # 读取指定变量,示例变量名为'my_variable' my_variable = f['my_variable'][()]
内容的提问来源于stack exchange,提问作者user20808369
相关产品推荐
相关产品推荐

