Python3 .mat文件转换为.csv文件

之前遇到了这个问题,在网上看了一些博客,直接拿来用却总会遇到一些问题。这里对一些博客中提到的代码进行了少许修复,并帖上批量处理的相关代码:

 

修复:

参考的博客:https://blog.csdn.net/zebralxr/article/details/78254192

参考博客中的这段代码 features = features_struct['data'] 总会提示 keyError,检查后发现是因为并非所有的.mat文件数据对应的key都是'data',并且也不一定会与文件名相同。这段改为 features = list(features_struct.values())[-1] 即可。

 

批量处理代码参考:

当前目录下新建mat和csv两个文件夹,把.mat文件放入mat文件夹中,生成的文件会放到csv文件夹中

import pandas as pd

import scipy

from scipy import io

import os



matPath='.\\mat\\'

outPath='.\\csv\\'

for i in os.listdir(matPath):
    
    inputFile=os.path.join(matPath,i)

    outputFile=os.path.join(outPath,os.path.split(i)[1][:-4]+'.csv')



    features_struct = scipy.io.loadmat(inputFile)

    data=list(features_struct.values())[-1]
    
    dfdata = pd.DataFrame(data)

    dfdata.to_csv(outputFile, index=False)

 

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUGORFEATURE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值