我试图理解将数据文件加载到Python和Matlab中以翻译某些代码之间的区别。我有一行代码:
load('USGS_1995_Library')
当我在Matlab中运行代码时,我知道数据在工作区中。有一个224x501的双重名称为datalib和一个501x29的双重名称为name。代码的下一行是:
wavlen=datalib(:,1); # Wavelengths in microns
因此,我知道Matlab将已经建立的变量保留在代码中,而无需返回并解析数据来定义它。
我的问题是,Python中有什么可以模拟相同的功能?我进行了一些研究,发现可以使用scipy.io加载Matlab文件(该文件是Matlab文件)。我知道这将使我能够使用Python打开Matlab文件,但是没有人有任何经验,并且知道是否还会加载变量及其定义/值以便可以在其余代码中使用吗?
感谢进阶!
答案 0 :(得分:3)
使用scipy.io.loadmat
将.mat
文件加载到python中时,最终将得到文件中包含的变量的字典(加上一些元数据)。因此,您可以像访问python中的其他任何字典一样访问变量。例如:
import scipy.io as sio
mat_file = sio.loadmat('USGS_1995_Library.mat')
datalib = mat_file['datalib']
names = mat_file['names']
但是,我认为没有任何方法可以像将对象加载到MATLAB
中一样自动将对象转换为变量,而没有使用{{3 }}