这篇教程主要介绍如何使用Python读取mat文件并且转csv文件。

一、读取mat文件和转CSV

首先将MATLAB生成的mat文件存储在一个目录下
在这里插入图片描述

import pandas as pd
import scipy
from scipy import io
import os
#遍历文件夹
for dirname, _, filenames in os.walk('./data'):
    for filename in filenames:
        print(os.path.join(dirname, filename))
        # print(filename)
        # print(os.path.realpath(filename))  # 获取当前文件路径
        print(os.path.dirname(os.path.realpath(filename)))  # 从当前文件路径中获取目录
        # print(os.path.basename(os.path.realpath(filename)))  # 获取文件名
        (file, ext) = os.path.splitext(os.path.realpath(filename))
        # print(file)
        print(os.path.basename(os.path.realpath(file)))  # 获取文件名
        # print(ext)
        print(dirname)


        path = os.path.join(dirname, filename)
        # 1、导入文件
        matfile = scipy.io.loadmat(path)
        # 2、加载数据
        datafile = list(matfile.values())[-1]
        # 3、构造一个表的数据结构,data为表中的数据
        dfdata = pd.DataFrame(data=datafile)
        # 4、保存为.csv格式的路径
        datapath = dirname+'\\'+os.path.basename(os.path.realpath(file))+'.csv'
        # 5、保存为.txt格式的路径
        dfdata.to_csv(datapath, index=False)

运行之后就可以在改目录下转为CSV文件。
在这里插入图片描述

二、读取CSV和数据转置

import pandas as pd

train_df = pd.read_csv('目录/r.csv',header=None)
print(train_df)
data = train_df.values
print(data)

#将数据行列转置
data = list(map(list,zip(*data)))
data = pd.DataFrame(data)
data.to_csv("目录/r_.csv",header=0,index=0)
train_df_ = pd.read_csv('E:/Paper_Code/My_NET_Code/21_9_15/data/r_.csv',header=None)
print(train_df_)
data_ = train_df_.values
print(data_)

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐