使用Python实现.mat文件转换、读取

news/2024/11/22 19:57:39/

目录

一、前言

二、将excel文件转换为mat文件

三、读取mat文件并进行可视化

四、将mat文件转换为excel文件 


一、前言

有时候我们拿到一个数据文件不是excel或者csv的怎么办呢?比如:你可恶的合作伙伴测实验数据时,用MATLAB丢给你一个mat矩阵文件时,该怎么办呢?别慌,数产小黑娃(头像虽黑,但本人不黑,欢迎打扰,谢谢支持!!!)带你解决这个问题!学完本篇文章后,你就可以将矩阵文件与表格文件实现互转了。

二、将excel文件转换为mat文件

我使用了一个openpyxl库来读取Excel文件。首先,我读取了一个Excel文件并选择活动工作表。然后,我使用了一个iter_rows()函数逐行获取数据,并将每一行添加到一个列表中。最后,我使用了一个scipy.io.savemat()函数将转换后的数据保存为MAT文件,并为矩阵取了一个名为“data”的变量名。

# 读取Excel文件
excel_file = '6-30测试.xlsx'
workbook = openpyxl.load_workbook(excel_file)# 选择工作表
sheet = workbook.active# 获取数据
data = []
for row in sheet.iter_rows(values_only=True):data.append(row)# 将数据保存为MAT文件
mat_file = '6-30测试.mat'
sio.savemat(mat_file, {'data': data})

三、读取mat文件并进行可视化

我使用了loadmat函数来读取mat矩阵,并调用matplotlib函数进行画图可视化。

# 读取mat文件
mat_file = '6-30测试.mat'
data = sio.loadmat(mat_file)# 提取数据
data_array = data['data']# 可视化数据
plt.plot(data_array)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('MAT Data Visualization')
plt.show()

 进行mat矩阵可视化:

四、将mat文件转换为excel文件 

我们使用了Python中的scipypandas库进行操作。以下实现了如何将MAT文件转换为Excel文件:

import scipy.io as sio
import pandas as pd# 读取MAT文件
mat_file = '6-30测试.mat'
data = sio.loadmat(mat_file)# 提取数据
data_array = data['data']# 转换为DataFrame
df = pd.DataFrame(data_array)# 保存为Excel文件
excel_file = 'output.xlsx'
df.to_excel(excel_file, index=False)

使用DataFrame函数将mat矩阵转换成excel文件时,Excel文件中会包含表头,如果你希望保留原始的数据结构和没有表头的格式,可以使用openpyxl库来手动创建Excel文件并写入数据。这个就留给你们自主思考了。

所有生成的文件如下所示: 

当然之前还写了一个它的姊妹篇《如何用matlab实现矩阵与mat格式、xlsx格式文件互转》,当我们利用matlab去处理我们的实验数据时,常常需要读取mat格式、xlsx格式文件,而且有时候我们又将利用Python去做后续工作,这时候我们就迫切需要了解矩阵与mat格式、xlsx格式文件在两个平台上如何实现互相转换。


http://www.ppmy.cn/news/655942.html

相关文章

电脑突然无法显示硬盘并提示SMART错误的修复办法尝试

电脑突然无法显示硬盘并提示SMART错误的修复办法尝试 在使用电脑过程中,会遇到机械硬盘突然无法显示的问题,我们可以尝试以下办法 PS:如果你是在使用过程中,突然卡死,然后硬盘无法显示,而且出现SMART错误,…

移动硬盘分区误删后修复手记

移动硬盘分区误删后修复手记 首先,向大家郑重推荐国产软件《易我分区表医生》! 周末发现家里一台电脑中了木马,导致了上网账户被人窃取,损失了很多银子!因此只能重新安装系统。为安全起见,决定把硬盘的2个分…

修复计算机有什么用,电脑硬盘坏道修复了对以后电脑使用有什么影响吗?

满意答案 shhlove918 推荐于 2017.09.13 采纳率:47% 等级:12 已帮助:2792人 影响一:硬盘坏道后,可能会表现为在打开、运行或拷贝某个文件时硬盘会出现操作速度变慢,且有可能长时间操作还不成功或表现为长…

移动硬盘无法读取怎么修复?

有时候碰到硬盘插上电脑,却无法使用的情况;今天我就碰到了。。。。。。 百度的很多办法都试过,所用都无效;包括下载插件恢复数据也是无用的,下插件还一大堆垃圾插件一起下载,导致电脑变得卡死😭…

如何对修改密码接口进行压测?终于找到解决办法了

做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较麻烦,使用工具比如jmeter、postman、soapui等等就比较麻烦。我比较偏重脚本化执行测试用例,所以选择了groovy作为主要语…

【SpringBoot】一、SpringBoot3新特性与改变详细分析

前言 本文适合具有springboot的基础的同学。 SpringBoot3改变&新特性 一、前置条件二、自动配置包位置变化1、Springboot2.X2、Springboot3.X 三、jakata api迁移1、Springboot2.X2、Springboot3.X3、SpringBoot3使用druid有问题,因为它引用的是旧的包 四 新特…

java连接数据库的5种方式

方式一直接导入第三方库驱动类 这种加载方式在jdbc入门时已经用过,这个driver属于第三方库,。为静态加载,灵活性差,依赖性抢 方式二使用反射机制获取 方式一和方式二代码 package com.hsp.edu;import com.mysql.cj.jdbc.Driver;i…

C#使用读卡器读取身份证信息(包含物理卡号)

说明:本人用的是精伦身份证阅读器idr210 免驱 摘要:目前市面上读取身份证技术已经很成熟了,大多数文章都介绍了读取身份证的详细信息,但是这些信息里并不包含身份证的物理卡号,所以本文讲解的重点在读取身份证的物理卡…