Loading very large CSV files (~20GB)

34 ビュー (過去 30 日間)
Sadjad Fakouri Baygi
Sadjad Fakouri Baygi 2016 年 3 月 17 日
I have some CSV files that I need to import into the MATLAB (preferably in a .mat format). I already tried to break down these files using csvread function into 100 cluster pieces, but it's very slow and it doesn't go further than 60 steps even though my computer machine is fairly new. I need to extract only numeric values and this values are separated by comma. I will appreciate it if you can help me to get through this.
Thanks,
Sajad
  2 件のコメント
per isakson
per isakson 2016 年 3 月 17 日
Sadjad Fakouri Baygi
Sadjad Fakouri Baygi 2016 年 3 月 17 日
Thanks, This shortcut worked out.

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

採用された回答

Robert
Robert 2016 年 3 月 17 日
You should look into datastore and mapreduce. They were introduced in R2014b and are intended for handling large data sets. The datastore object allows you to read the data in chunks, skip columns, and store the results in a table. It's behavior is somewhat similar to fread or fscanf with a size input; however, the datastore's use of a table allows you to assign different data types to each column. I use this for data that includes Boolean status bits along with doubles so that I don't have to store the Booleans as doubles in my data array.
mapreduce is specifically designed for operating on data sets that don't fit in memory. Rather than attempt to explain it I will simply suggest you check out the documentation.
docsearch Getting started with mapreduce
  1 件のコメント
Sadjad Fakouri Baygi
Sadjad Fakouri Baygi 2016 年 3 月 18 日
This solution is more professional, and worked very well.
Thanks,

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

その他の回答 (0 件)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by