Out of memory issue

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

Some questions:
  • which OS, Windows7?
  • which Matlab release?
  • are other programs running?
  • size of swap file?
  • what function do you use to "load" the file?
What does
memory
return?
.
That's a pretty small file. Your computer, even with only 3 GB of memory should be able to handle a 16 MB file I would think. Can you paste the full error message here (all the red text)?
Sorry,file size is 22205kb
Windows7,2010a ReleaseMATLAB,other programs running,csvread,xlsread,,nothing is working
??? Error: Not enough storage is available to complete this operation.
Error in ==> xlsread at 316 rawData = DataRange.Value

Sign in to comment.

Answers (1)

C.J. Harris
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",

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Tags

Asked:

on 12 Jun 2014

Edited:

on 13 Jun 2014

Community Treasure Hunt

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

Start Hunting!