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

如何在Dymola中通过脚本导出所有变量为.csv文件?

Dymola批量导出.mat所有变量到.csv的实现方法

要自动导出.mat文件中的所有变量到.csv,无需手动指定变量列表,可以通过以下步骤实现:

核心思路

先用Dymola内置函数读取.mat文件的完整变量列表,再将该列表传入DataFiles.convertMATtoCSV()完成转换。

单文件转换示例脚本

// 替换为你的.mat文件路径
matFilePath = "C:/SimulationResults/ModelResult.mat";
// 获取文件中所有变量名称
allVariables = DataFiles.getVariablesInMAT(matFilePath);
// 生成对应的CSV文件路径(替换后缀名)
csvFilePath = Modelica.Utilities.Strings.replace(matFilePath, ".mat", ".csv");
// 执行转换
DataFiles.convertMATtoCSV(matFilePath, csvFilePath, allVariables);

批量处理多个.mat文件

如果要处理文件夹下所有.mat文件,可结合文件遍历函数实现:

// 目标文件夹路径
resultFolder = "C:/SimulationResults/";
// 获取文件夹下所有.mat文件
matFiles = Modelica.Utilities.Files.listFiles(resultFolder, "*.mat");

// 循环处理每个文件
for matFile in matFiles loop
  allVariables = DataFiles.getVariablesInMAT(matFile);
  csvFile = Modelica.Utilities.Strings.replace(matFile, ".mat", ".csv");
  DataFiles.convertMATtoCSV(matFile, csvFile, allVariables);
end for;

注意事项

  • 若.mat文件包含大量变量,导出的CSV文件体积会较大,转换时间也会相应增加,可根据实际需求筛选变量(可选)。
  • 确保Dymola版本支持DataFiles.getVariablesInMAT()函数(多数主流版本均支持)。

内容的提问来源于stack exchange,提问作者Francisco Santoro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:05:23