Python读取mat文件-转csv文件

Posted hequnwang10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python读取mat文件-转csv文件相关的知识,希望对你有一定的参考价值。

这篇教程主要介绍如何使用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_)

以上是关于Python读取mat文件-转csv文件的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中读取 v 7.3 mat 文件

在python中,如何更新CSV文件中超过5K行的值?

python读取mat(v7.3)文件中的cell以及struct

python csv读取方法及常用的csv读取代码

python中怎么读取csv文件

matlab读取.mat文件中的指定数据