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

目录

一、前言

二、将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格式文件在两个平台上如何实现互相转换。

  • 10
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值