how to export multiple .mat files to csv using the automation script?

8 ビュー (過去 30 日間)
Sandeep GNV
Sandeep GNV 2021 年 8 月 12 日
コメント済み: Ola Fekry 2022 年 2 月 21 日
i have multiple .mat files, each mat file consits of 2 datasets (Input and Output). i was successful to combine Inputs and Outputs in a single .mat file and convert it to .csv file.
>>load('mat_file1.mat');
%2 files are loaded in workspace (Input.mat 100x10 and Output.mat 100x10)
>>I/O_file1 = [Input Outpt];
%single MAT file created (I/O_file1.mat 100x20)
>>xlswrite('I/O_file1.csv', mat_file1.mat);
%CSV file created
But there are several MAT files in a single folder such as ( mat_file1.mat, mat_file2.mat, mat_file3.mat, mat_file4.mat, mat_file5.mat .....)
Now i need an Automation script so that i can convert all the MAT files present in the folder at once.

採用された回答

Rik
Rik 2021 年 8 月 12 日
編集済み: Rik 2021 年 8 月 12 日
Load to a struct:
base=sprintf('mat_file%d',1);
S=load([base '.mat']);
data=[S.([base '_Inputs']) S.([base '_Outputs'])];
xlswrite([base '.csv'],data);
  4 件のコメント
Rik
Rik 2022 年 2 月 19 日
Ok, good luck. If you have any questions when doing that: have a read here and here.
Ola Fekry
Ola Fekry 2022 年 2 月 21 日
Ok thanks

サインインしてコメントする。

その他の回答 (1 件)

Sandeep GNV
Sandeep GNV 2021 年 8 月 18 日
i have set of MAT files ina folder so i wrote an automation code to convert the set of MAT files in folder to CSV files all at a time. each MAT file consits of 2 datasets (Inputs and Outputs).
for i = 1:4; for j = 0:50:100
base=sprintf('Heating_Data1_0C_RB%d_Comb%d',j,i);
S=load([base '.mat']);
data=[S.([base '_Inputs']) S.([base '_Outputs'])];
xlswrite([base '.csv'],data);
end
end
so this merge the two MAT files(Inputs &Outputs) into a single MAT file and covnerts it to CSV file. but here in the excel sheet you see only the numeric data, so now i need to insert a Row on the top with the column headings.
  1 件のコメント
Rik
Rik 2021 年 8 月 18 日
You can extend the data variable. You probably need to convert it to a cell array (if it isn't one yet) with num2cell. Then you can trivially add the header.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by