Out of memory issue

2 vues (au cours des 30 derniers jours)
Arun Badigannavar
Arun Badigannavar le 12 Juin 2014
Modifié(e) : C.J. Harris le 13 Juin 2014
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 commentaires
Arun Badigannavar
Arun Badigannavar le 13 Juin 2014
Windows7,2010a ReleaseMATLAB,other programs running,csvread,xlsread,,nothing is working
Arun Badigannavar
Arun Badigannavar le 13 Juin 2014
??? Error: Not enough storage is available to complete this operation.
Error in ==> xlsread at 316 rawData = DataRange.Value

Connectez-vous pour commenter.

Réponses (1)

C.J. Harris
C.J. Harris le 13 Juin 2014
Modifié(e) : C.J. Harris le 13 Juin 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",

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by