将文件加载到Python

时间:2018-07-27 17:59:31

标签: python matlab file-io scipy

我试图理解将数据文件加载到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文件,但是没有人有任何经验,并且知道是否还会加载变量及其定义/值以便可以在其余代码中使用吗?

感谢进阶!

1 个答案:

答案 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 }}