import big csv file with header in matlab
Show older comments
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 Comment
dpb
on 23 Aug 2015
Matlab is limited in 64-bit version only by available memory theoretically, anyway...
Answers (1)
Walter Roberson
on 23 Aug 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.
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!