You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将.mat文件转CSV?已加载数据却不知后续操作

将MAT文件数据转换为Pandas DataFrame并保存为CSV

核心思路

加载MAT文件后得到的字典中,__header__、__version__、__globals__属于文件元数据,无需纳入DataFrame。其余字段对应的Matlab格式数组大多为(N,1)的二维结构,需要先转为一维数组才能适配Pandas的列结构。

完整代码实现

from scipy.io import loadmat
import pandas as pd

# 加载MAT数据
data = loadmat(r"C:\Users\ansha\Downloads\HTS_C1_SN14_13.11.2019_02.mat")

# 过滤元数据,保留实际数据字段
filtered_data = {key: value for key in data if not key.startswith('__')}

# 处理数组形状:将Matlab风格的二维数组转为一维
processed_data = {}
for key, value in filtered_data.items():
    if value.ndim == 2 and (value.shape[0] == 1 or value.shape[1] == 1):
        processed_data[key] = value.flatten()
    else:
        processed_data[key] = value

# 创建DataFrame
df = pd.DataFrame(processed_data)

# 保存为CSV文件(可自定义路径)
df.to_csv(r"C:\Users\ansha\Downloads\mat_converted_data.csv", index=False)

注意事项

  • 若部分字段数组长度不一致,创建DataFrame会报错,此时需检查数据对应关系(比如是否按试次分组),调整数据结构后再处理。
  • 对于非(N,1)的多维数组,需根据数据含义决定处理方式(如展开为一维、拆分存储),避免CSV无法兼容复杂结构。

内容的提问来源于stack exchange,提问作者Ansh Bharadwaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:09:29