为了翻译一些代码,我正在尝试理解将数据文件加载到Python和Matlab之间的区别。我有一行这样的代码:
load('USGS_1995_Library')
当我在Matlab中运行代码时,我知道数据在工作区中。有一个称为datalib的224x501双精度和一个称为501x29的双精度名称。接下来的代码行是:
wavlen=datalib(:,1); # Wavelengths in microns
因此,我知道Matlab在代码中保留了已经建立的变量,而不需要我返回并解析数据来定义它。
在Python中有没有什么东西可以模仿同样的功能?我做了一些研究,发现我可以使用scipy.io加载Matlab文件(该文件是Matlab文件)。我知道这将使我能够使用Python打开Matlab文件,但是有没有人有经验,知道它是否也会加载变量及其定义/值,以便可以在其余代码中使用?
发布于 2018-07-28 02:12:48
在使用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']
但是,除了使用this answer中描述的危险方法之外,我不认为有任何方法可以像将对象加载到MATLAB
中那样自动将对象转换为变量
https://stackoverflow.com/questions/51563252
复制相似问题