import big csv file with header in matlab

I have a big csv file about(18G), that have few record but so many columns. I don't know how many columns I have. my file have header. I want to import this file in matlab . please help me

1 commentaire

dpb
dpb le 23 Août 2015
Matlab is limited in 64-bit version only by available memory theoretically, anyway...

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 23 Août 2015
You will not be able to use csvread() or dlmread() for it because of the headers. Those two routines cannot be used if there is any text anywhere in the file.
You can use textscan() for this. You can build the format as a string. For example,
numheaderlines = 2; %set as appropriate
numcol = 17104; %set as appropriate
fmt = repmat('%f', 1, numcol);
fid = fopen('YourFile.csv', 'rt');
data = textscan(fid, fmt, 'HeaderLines', numheaderlines, 'Delimiter', ',', 'CollectOutput', 1);
fclose(fid);
Now data{1} would be a giant numeric array.

Community Treasure Hunt

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

Start Hunting!

Translated by