目录
一、前言
二、将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中的scipy
和pandas
库进行操作。以下实现了如何将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格式文件在两个平台上如何实现互相转换。