python读取.mat文件及将变量存为.mat文件的详细介绍

 更新时间:2024年06月17日 08:36:00   作者:GoodG_study  
这篇文章主要给大家介绍了关于python读取.mat文件及将变量存为.mat文件的详细介绍,​mat文件是matlab的数据存储的标准格式,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

在进行数据处理的过程中,经常会用到Matlab和python两种工具,.mat文件是Matlab数据存储的标准数据格式,通过创建一个.mat文件详细介绍两种工具之间的数据读取和存储。

一、python读取.mat文件

1. 保存Matlab数据到指定文件夹

例如:创建一个数组A,存到指定文件夹下

变量A: 

通过save将变量A进行保存:

save('具体路径','变量名'); % 将变量保存到指定文件夹下

save('C:\Users\ASUS\Desktop\train\data.mat','A');

 save('变量名'); % 将变量保存到默认文件夹下,即与该matlab在同一文件夹下

save('A');

2. pycharm读取.mat数据

pycharm读取.mat文件代码主要是要导入scipy.io库,调用库里的scipy.io.loadmat()函数便可读取数据,此时读到的是.mat文件的相关信息

import scipy.io
A = scipy.io.loadmat('C:\\Users\\ASUS\\Desktop\\train\\data.mat')

tips:运行程序时可能会出现提示:

提示:import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['E:\\untitled', 'E:/untitled'])

 解决方法如下:

点进右上角Edit Configuration

 Run with Python Console前的√去掉,点击Apply,点击OK,解决

运行不再报错

 此时已经读取到A.mat文件,读取到的文件是以字典的形式保存,数据以键值对的形式保存,

['__header__', '__version__', '__globals__', 'A']为字典的键值,其中键A用来保存数据。

  想要提取A.mat文件里的数值[1,2,3]的话需要执行以下操作:

data = A[ '键值' ]

执行data = A[ 'A' ]完成python读取.mat数据,数据保存在data变量里。

二、python将变量存为.mat文件

导入scipy.io库,调用scipy.io.savemat()函数,函数参数设置如下:

scipy.io.savemat(' 保存的文件名.mat ',mdict = {' 键值 ':变量})

pycharm定义一个列表变量B= [1,2,3];

# python 代码
import scipy.io

B = [1,2,3]
print(type(B))
scipy.io.savemat('data.mat',mdict = {'C':B})

文件保存在与python文件相同路径下,我这里的py文件路径为D:\test2

在matlab中导入,数据加载完成,matlab工作区中的C就是python scipy.io.savemat()函数里的键值。

总结 

到此这篇关于python读取.mat文件及将变量存为.mat文件的文章就介绍到这了,更多相关python读取.mat文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python配置文件解析模块ConfigParser使用实例

    Python配置文件解析模块ConfigParser使用实例

    这篇文章主要介绍了Python配置文件解析模块ConfigParser使用实例,本文讲解了figParser简介、ConfigParser 初始工作、ConfigParser 常用方法、ConfigParser使用实例等内容,需要的朋友可以参考下
    2015-04-04
  • python实现剪切功能

    python实现剪切功能

    这篇文章主要为大家详细介绍了一段python代码编写实现的剪切功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • vc6编写python扩展的方法分享

    vc6编写python扩展的方法分享

    有些C/C++的代码要在Python中要用到,又不想转成python,所以就写成python的扩展来调用,以下是我尝试后,在VC6下编写python扩展的过程
    2014-01-01
  • Python中的哈希算法模块hashlib详解

    Python中的哈希算法模块hashlib详解

    这篇文章主要介绍了Python中的哈希算法模块hashlib详解,hashlib模块实现了多种哈希算法,包括MD5以及SHA家族的算法,通过algorithms_guaranteed可以查看hashlib中封装的所有算法,需要的朋友可以参考下
    2023-08-08
  • Python 字符串定义

    Python 字符串定义

    字符串是程序中最常见的数据类型。在Python中,可以使用三种方式定义字符串。单引号、双引号和三引号。
    2009-09-09
  • Python使用设计模式中的责任链模式与迭代器模式的示例

    Python使用设计模式中的责任链模式与迭代器模式的示例

    这篇文章主要介绍了Python使用设计模式中的责任链模式与迭代器模式的示例,责任链模式与迭代器模式都可以被看作为行为型的设计模式,需要的朋友可以参考下
    2016-03-03
  • python星号(*)和双星号(**) 函数动态参数匹配及解包操作方法

    python星号(*)和双星号(**) 函数动态参数匹配及解包操作方法

    这篇文章主要介绍了python星号(*)和双星号(**) 函数动态参数匹配及解包操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Python六大开源框架对比

    Python六大开源框架对比

    在这篇文章里,我们将为Python Web开发者回顾基于Python的6大Web应用框架。无论你是出于爱好还是需求,这六大框架都可能会成为你工作上不错的得力助手。
    2015-10-10
  • Python实现快速替换Word文档中的关键字

    Python实现快速替换Word文档中的关键字

    使用Python自动化处理Word文档可以帮助您提高效率,并减少手动处理文档所需的时间和精力,所以本文为大家准备了Python快速替换Word文档中的关键字的方法,希望对大家有所帮助
    2023-06-06
  • Python实现的几个常用排序算法实例

    Python实现的几个常用排序算法实例

    这篇文章主要介绍了Python实现的几个常用排序算法实例例如直接插入排序、直接选择排序、冒泡排序、快速排序等,需要的朋友可以参考下
    2014-06-06

最新评论