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

猜你喜欢

转载自blog.csdn.net/qq_53860947/article/details/131478681