mat转csv的python脚本

该脚本可将mat格式文件转换问csv文件,脚本执行环境为python3.8.1,需要安装pandas,hdf5storage库。

import pandas as pd
import hdf5storage
import os

"""
功能:将mat文件转换为csv
注意:运行脚本后,输入mat文件所在路径,脚本自动搜索 .mat文件
     并将转换后的文件保存到同级目录下的changed文件夹中
"""


def seekfiles(path):
    matpath=[]
    for dirname, _, filenames in os.walk(path):
        for filename in filenames:
            if filename.endswith(".mat"):
                matpath.append(os.path.join(dirname, filename))

    return matpath


def mat_to_csv(matpaths):
    if len(matpaths)==0:
        print("目标文件夹无对应文件!!!!")
    else:
        for matpath in matpaths:
            features_struct = hdf5storage.loadmat(matpath)
            features = list(features_struct.values())[-1] 
            dfdata = pd.DataFrame(data=features)

            dirn = os.path.dirname(matpath)
            dirn=dirn+"\\changed\\"
            if not os.path.exists(dirn):  
                os.mkdir(dirn)  
            else:
                if os.path.exists(dirn):
                    print('the file exists')
                else:
                    os.chdir(dirn)
                    os.mknod("changed")  # 创建空文件
            file_name = os.path.basename(matpath).split(".")[0]+".csv"

            datapath1 =os.path.join(dirn,file_name)
            dfdata.to_csv(datapath1, index=False,header=False)

if __name__=="__main__":
    while True:
        p=input("输入目标路径:")
        a=seekfiles(p)
        mat_to_csv(a)
        cmd=input("是否继续(Y键继续,任意键退出)")
        if cmd=="Y":
            pass
        else:
            break

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值