如何使用自动化脚本将多个.mat文件导出到CSV ?

35次浏览(最近30天)
Sandeep GNV
Sandeep GNV 2021年8月12日
评论道: 里克 2021年8月18日
我有多个。mat文件,每个mat文件包含2个数据集(输入和输出)。我成功地将输入和输出合并到一个。mat文件中,并将其转换为。csv文件。
> >负载(“mat_file1.mat”);
%2文件加载在工作区(输入。垫子100x10和输出。垫100 x10)
>>I/O_file1 = [Input output]; / /输出
创建一个MAT文件。垫100 x20)
> > xlswrite (I / O_file1.csv, mat_file1.mat);
% CSV文件创建
但是,在一个文件夹中有几个MAT文件,如(mat_file1。垫,mat_file2。垫,mat_file3。垫,mat_file4。垫,mat_file5。垫……)
现在我需要一个自动化脚本,以便我可以转换所有的MAT文件目前在文件夹一次。

接受的答案

里克
里克 2021年8月12日
编辑:里克 2021年8月12日
加载到结构体:
基础= sprintf (“mat_file % d '1);
S =负载([基地“.mat”]);
data = [S。([基地“_Inputs”)([基地“_Outputs”)));
xlswrite([基地. csv”)、数据);
1评论
Sandeep GNV
Sandeep GNV 2021年8月17日
感谢上面的解决方案,它工作。但我有另一个问题遵循那,我需要添加一行与列名转换它到.csv文件。

登录评论。

答案(1)

Sandeep GNV
Sandeep GNV 2021年8月18日
我有一套MAT文件在文件夹,所以我写了一个自动化代码转换的MAT文件在文件夹到CSV文件全部在一个时间。每个MAT文件包含2个数据集(输入和输出)。
For I = 1:4;对于j = 0:50:100
基础= sprintf (Heating_Data1_0C_RB % d_Comb % d, j,我);
S =负载([基地' .mat ']);
data = [S。([基地“_Inputs”)([基地“_Outputs”)));
xlswrite (' . csv '][基地,数据);
结束
结束
所以这合并两个MAT文件(输入和输出)到一个单独的MAT文件,并将其转换为CSV文件。但在这里的excel表格中,你只能看到数字数据,所以现在我需要在顶部插入一行与列标题。
1评论
里克
里克 2021年8月18日
您可以扩展数据变量。您可能需要使用num2cell将其转换为单元格数组(如果还不是的话)。然后你可以简单地添加标题。

登录评论。

标签

下载188bet金宝搏

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!