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文件的主要内容,如果未能解决你的问题,请参考以下文章