read a text file or not read it

3 visualizaciones (últimos 30 días)
Rica
Rica el 7 de Nov. de 2012
Hi I have a lot of text files.
%
file1.txt
file2.txt.
.
.
.
.
file100
i read this files with this function:
%
for k=1:100
fid=fopen(['file_' num2str(k) '.txt']);
if fid == -1, error('Cannot open file'),end
result{k,1}=textscan(fid,'%f %f %f %f %f');
fclose(fid)
end
i want to scip reading file50.txt and file69.txt. How could i do this with matlab. tell hem not to read these both files? Thank you

Respuesta aceptada

Jan
Jan el 7 de Nov. de 2012
Or if you do not want to hard code it:
result = cell(1, 100);
index = 0;
for k=1:100
fid = fopen(['file_' num2str(k) '.txt']);
if fid ~= -1
result{index, 1} = textscan(fid,'%f %f %f %f %f');
fclose(fid)
end
end
result = result(1:index); % Crop empty cells

Más respuestas (1)

José-Luis
José-Luis el 7 de Nov. de 2012
Editada: José-Luis el 7 de Nov. de 2012
idx = 1:100;
idx([50 69]) = []; %You could also use an if statement inside the loop, but this might be more efficient
for k=idx
fid=fopen(['file_' num2str(k) '.txt']);
if fid == -1, error('Cannot open file'),end
result{k,1}=textscan(fid,'%f %f %f %f %f');
fclose(fid)
end

Community Treasure Hunt

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

Start Hunting!

Translated by