文件为jupyter notebook格式,逐行代码如下所示
没有安装库的可以通过pip进行下载
#镜像下载
pip install os pandas scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
import os
import pandas as pd
from scipy.io import loadmat
# 设置输入和输出文件夹路径
input_folder = 'inter/your/path'
output_folder = 'inter/your/path'
做一个简单的判断
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
主程序框架
# 遍历输入文件夹中的所有.mat文件
for file_name in os.listdir(input_folder):
if file_name.endswith('.mat'):
# 构造完整的文件路径
mat_file_path = os.path.join(input_folder, file_name)
# 加载.mat文件
mat_data = loadmat(mat_file_path)
# 打印.mat文件中的所有键以检查其结构
print(f"Keys in the .mat file {file_name}: {mat_data.keys()}")
# 遍历所有键并转换为单独的 CSV 文件
for key_name in mat_data.keys():
# 跳过特殊的元数据键
if key_name.startswith('__'):
continue
# 获取要转换的数据
data_to_convert = mat_data[key_name]
# 确保数据是2D的,如果是1D的,转换为2D
if data_to_convert.ndim == 1:
data_to_convert = data_to_convert.reshape(-1, 1)
# 将数据转换为DataFrame
df = pd.DataFrame(data_to_convert)
# 构造输出文件名,使用键名作为文件名的一部分
output_file_name = os.path.join(output_folder, f"{file_name.replace('.mat', '')}_{key_name}.csv")
# 保存为CSV文件
df.to_csv(output_file_name, index=False)
程序同时可以在pycharm等python编辑器内使用。