- which OS, Windows7?
- which Matlab release?
- are other programs running?
- size of swap file?
- what function do you use to "load" the file?
Out of memory issue
    5 views (last 30 days)
  
       Show older comments
    
I am getting error,while Loading abc.csv file of 16567kb size,as Out of memory, I have Intel core2duo,3 ghz,3GB RAM,,please help me,, I want to convert .csv file to .mat file by loading it in workspace
5 Comments
Answers (1)
  C.J. Harris
      
 on 13 Jun 2014
        
      Edited: C.J. Harris
      
 on 13 Jun 2014
  
      For large CSV files you are less likely to run into memory issues if you read it line by line, for example:
nFile = 'file.csv';
[fid, message] = fopen(nFile,'r');
i=1;
numlines = str2double(perl('Countlines.pl', nFile));
while 1
      tline = fgetl(fid);
      if ~ischar(tline), break, end
        comma = findstr(tline,',');
        if i == 1
            numComma =  length(comma);
            body_data = cell(numlines, numComma+1); % pre-allocate
        end
        body_data{i,1} = tline(1:comma(1)-1);
        body_data{i,numComma+1} = tline(comma(end)+1:end);
        for nData = 1:numComma-1
            body_data{i,nData+1} = tline(comma(nData)+1:comma(nData+1)-1);
        end
        i = i + 1;
  end
  fclose(fid);
Where the perl script simply contains:
while(<>){};
print $.,"\n",
0 Comments
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


