将Matlab文件加载到Python中

2024-10-03 13:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

为了翻译一些代码,我试图理解将数据文件加载到Python和Matlab之间的区别。我有一行代码是这样的:

load('USGS_1995_Library')

当我在Matlab中运行代码时,我知道数据在工作区中。有一个名为datalib的224x501双精度计数器和一个名为names的501x29双精度计数器。下一行代码是:

wavlen=datalib(:,1);    # Wavelengths in microns

因此,我知道Matlab在代码中保留了已经建立的变量,而无需返回并解析数据来定义它

Python中是否有任何东西可以模拟相同的功能?我做了一些研究,发现我可以使用scipy.io加载一个Matlab文件(该文件是一个Matlab文件)。我知道这将使我能够使用Python打开Matlab文件,但有没有人有任何经验,知道它是否也会加载变量及其定义/值,以便在代码的其余部分中使用


Tags: 文件数据代码定义names数据文件library计数器
1条回答
网友
1楼 · 发布于 2024-10-03 13:31:09

当使用^{}.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中那样自动将对象转换为变量

相关问题 更多 >