📜  在 python 中读取 .mat 文件 (1)

📅  最后修改于: 2023-12-03 15:07:47.184000             🧑  作者: Mango

在 Python 中读取 .mat 文件

MATLAB 是数据科学领域常用的软件工具之一,它常常被用于数据处理和模型建立。为了方便在 MATLAB 和 Python 之间进行数据交互,Python 提供了 scipy.io 模块用于读取和保存 MATLAB 格式的数据文件。

读取 .mat 文件
import scipy.io as sio

# 读取 mat 文件
mat_file = sio.loadmat('data.mat')

# 获取变量
variable1 = mat_file['variable1']
variable2 = mat_file['variable2']

# 查看变量类型和形状
print(type(variable1))
print(variable1.shape)

以上代码通过 loadmat() 函数读取了名为 data.mat 的 .mat 文件,并将文件中的两个变量 variable1variable2 分别保存到 Python 变量 variable1variable2 中。

需要注意的是,由于 MATLAB 中的数组是以列序存储的,因此在 Python 中读取时需要特别注意数组维度的顺序,以避免错误地解析数据。

保存 .mat 文件
import numpy as np
import scipy.io as sio

# 创建要保存的变量
array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([1.1, 2.2, 3.3])

# 保存到 mat 文件
sio.savemat('data.mat', {'array1': array1, 'array2': array2})

以上代码通过 savemat() 函数将两个 Numpy 数组 array1array2 保存为名为 data.mat 的 .mat 文件。需要注意的是,这里将变量保存在一个字典中,并且使用了与变量名对应的键值进行了保存。

总结

使用 scipy.io 模块很容易读取和保存 MATLAB 格式的数据。需要注意数据维度的顺序,避免解析和保存出错。