Importing large CSVs and consolidating in one matrix.

1 view (last 30 days)
Hello I need to consolidate around 800 CSVs(total size ~ 6GB) into 1 matrix. I need to process(mainly filtering) the data and plot the graphs. What should be the approach of the task so that the processing time in loading the CSVs and plotting takes minimum time.
TIA

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 12 Jan 2015
Hi Pranjal,
if you have R2014b available, then datastore + mapreduce would be the choice of tools.
Titus
  2 Comments
Pranjal
Pranjal on 12 Jan 2015
Hi Titus,
Thanks for the answer,but I am working on R2011b. Can you suggest any approach using that version of matlab.
Pranjal
Titus Edelhofer
Titus Edelhofer on 12 Jan 2015
In this case use textscan for reading the data. Each file is probably not too large (assuming the 800 csv are somewhat similar in size), i.e., about 7-10 MByte. Therefore reading each file in one sweep should be no problem.
You might use the Parallel Computing Toolbox (parfor) to read the files in parallel. Either process the data right away or save to .mat so that you can read them later faster in a loop.
Titus

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!