Tall table from multiple tables in different .MAT files

5 views (last 30 days)
I have a ton of separate .mat files, each containing a single table. They have the same variables, and same format for each variable. Combined, they do not fit into memory.
Is there a way to create a datastore or a tall table from these? Tried using datastore but, surprisingly, there doesn't seem to be an option for this.
I realize one option would be to loop through these, "convert" them to CSV, and make a datastore from this. This is my backup plan.

Answers (2)

Krishna Bindumadhavan
Krishna Bindumadhavan on 22 Aug 2017
Edited: Walter Roberson on 17 Oct 2017
The procedure that you have mentioned in the question (converting the files to .csv and then making a datastore) should work. Alternatively, you can also use a FileDatastore (used for custom file formats) as outlined in the documentation here :
The example provided in the documentation shows how you can use FileDatastore with .mat files.
Hope this helps!

Anandan Rangasamy
Anandan Rangasamy on 17 Oct 2017
I would suggest you to set UniformRead to true when creating FileDatastore to get a tall table. Here is an example.

Community Treasure Hunt

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

Start Hunting!