Python中使用scipy.io读取和保存MATLAB mat文件详解

Ada
Ada
发布时间:2026-10-12| 3人浏览过
原创

本文介绍如何在Python中处理MATLAB生成的mat文件。通过scipy.io模块的loadmat()函数读取数据,返回字典类型,提取矩阵后为numpy.ndarray格式;使用savemat()函数将字典数据保存为新mat文件,实现Python与MATLAB间的数据交互。

首先讨论Markdown编辑器的使用体验。对于熟悉LaTeX的用户来说,Markdown上手相对容易,但在实际编辑过程中仍存在几个尚未找到确切解决方案的问题。

首先是图片尺寸调整问题。在LaTeX中可以灵活调整图片大小以适配文本布局,而Markdown中缺乏类似的字体和字号精细设置功能。虽然标题字体较大,但正文内容显得过小,整体排版风格并不符合所有用户的审美偏好。

上述两个主要问题导致最终生成的文本视觉效果不够理想。

一、mat文件基础

mat数据格式是Matlab数据存储的标准格式。在Matlab环境中,通常使用load()函数导入mat文件,使用save()函数保存mat文件。


load('data.mat')
save('data_1.mat','A')

其中,'A'表示需要保存的具体内容变量。


二、Python中读取mat文件

在Python环境中,可以使用scipy.io模块中的loadmat()函数来读取mat文件,同时使用savemat()函数来保存文件。

1、读取文件操作

参考上述示例代码进行文件读取。

#coding:UTF-8
'''
Created on 2015年5月12日
@author: zhaozhiyong
'''
 
import scipy.io as scio
 
dataFile = 'E://data.mat'
data = scio.loadmat(dataFile)

需要注意,读取返回的data变量是字典格式,可以通过type(data)函数查看其类型。

print type(data)

运行结果显示

<type 'dict'>

接下来定位mat文件中的具体矩阵数据。

print data['A']

打印结果显示

[[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 。。。。。。。。。。。 0. 0. 0. 0. 0. 0. 0. 0.36470588 0.90196078 0.99215686 0.99607843 0.99215686 0.99215686 0.78431373 0.0627451 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 。。。。。。。。。。。。 0.94117647 0.22745098 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.30196078 。。。。。。。 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]]

其数据类型格式为:

<type 'numpy.ndarray'>

即numpy库中的矩阵格式(numpy.ndarray)。

2、保存文件操作

将上述data字典中的'A'矩阵重新保存到一个名为dataNew.mat的新文件中。

dataNew = 'E://dataNew.mat'
scio.savemat(dataNew, {'A':data['A']})

注意:保存时需以字典形式传递数据。

本文关于Python读取和保存mat文件的方法介绍至此结束,更多相关Python读取和保存mat内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。