Loading multiple (e.g. ~ 3000) mat files into workspace and merging them in a table
1 回表示 (過去 30 日間)
古いコメントを表示
I have many mat files (no particular sequence such as file1.mat, file2.mat etc etc) in a folder. I want to load all of them into a workspace and then merge all the mat files in a table.
Any efficient way to do so other than loading all of them manually (which can be done if I select all the files using CTRL+A then press enter, no issues of RAM as I have 16 gigs and the files will take at best 3 gigs of RAM) and then using the table(names of variables,..........)? My main issue is i will need to list all 3000 variables from workspace to table function manually which I don't want to do.
0 件のコメント
採用された回答
Stephen23
2019 年 6 月 5 日
編集済み: Stephen23
2019 年 6 月 5 日
" i will need to list all 3000 variables from workspace.."
That is a good example of why load-ing directly into the workspace is a bad way to write code.
Preallocate a table (exactly how depends on how you want to join the tables).
Loop over the files. Load each file into a structure, i.e.:
S = load(...)
T = struct2table(S);
Use one of the table join functions to add the new table to the preallocated table:
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!