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