Importer multiples fichiers texte sans leur dernière ligne

Fermé
cletess Messages postés 38 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 5 avril 2018 - Modifié par cletess le 28/04/2014 à 14:09
Bonjour,



Je patauge un peu dans les différentes options pour importer des fichiers texte (tab delimited), essentiellement en format numérique. Chacun de ces fichiers est composé de 5 colonnes de chiffres. Cependant, la dernière ligne de chacun de ces fichiers stipule juste le mot "END" en colonne 1.

ex:

1 0 1 1 1
2 0 3 2 1
3 0 4 5 6
END

Evidemment, mon code actuel ne tient pas compte de cette dernière ligne qui cause le message d'erreur suivant: "??? Error using ==> load
Number of columns on line 75 of ASCII file
C:\Users\letesson\Documents\TEST\test1.txt
must be the same as previous lines."

La question m'a l'air très simple mais je n'arrive pas à ne pas tenir compte de cette dernière ligne et n'importer que les données numériques. J'ai essayer avec Dlmread en ajoutant un range mais je ne dois pas faire ça correctement ...

Pour le moment, mon code ressemble à ceci:

clear all, close all
myFolder = 'C:\Users\letesson\Documents\TEST';
if ~isdir(myFolder)
errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
uiwait(warndlg(errorMessage));
return;
end
filePattern = fullfile(myFolder, '*.txt');
txtFiles = dir(filePattern);
a = cell(1, length(txtFiles));

for i = 1:length(txtFiles);
textfilename = ['test',num2str(i),'.txt'];
a{i}= load(textfilename);
end

Ce n'est peut-être pas le plus optimal mais ça fonctionne pour des fichiers uniquement numériques.

Ensuite, dernière petite question: La manipulation des Cell arrays n'est pas des plus simples, est-il possible de reconvertir chaque matrice de la cell array en une nouvelle variable ? (Par, data1, data2, data...)

Merci d'avance pour toutes les pistes potentiels pour améliorer mon code,



CL