Out of memory issue
Mostrar comentarios más antiguos
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 comentarios
per isakson
el 12 de Jun. de 2014
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?
.
Image Analyst
el 12 de Jun. de 2014
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)?
Arun Badigannavar
el 13 de Jun. de 2014
Arun Badigannavar
el 13 de Jun. de 2014
Arun Badigannavar
el 13 de Jun. de 2014
Respuestas (1)
C.J. Harris
el 13 de Jun. de 2014
Editada: C.J. Harris
el 13 de Jun. de 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",
Categorías
Más información sobre Large Files and Big Data en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!