Récupérer le nombre de ligne d'un fichier texte

Fermé
dazenlab Messages postés 3 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 7 juin 2013 - 7 juin 2013 à 03:20
 tchouf - 14 juin 2013 à 16:15
Bonjour,
je cherche à programmer les éléments finis en hydrogéologie par un script matlab.
pour cela je dispose de 5 fichiers .txt avec lesquels je dois récupérer le nombre de ligne et colonnes pour chaque fichier, et aussi lire chaque élément de chaque ligne pour chaque fichier .txt
en effet, voici comment se fait la procédure

- NLA = nombre de lignes ("fichier_1.tx"t);
- NLB = nombre de lignes ("fichier_2.txt");
- Etc;

Et accessoirement le nombre de colonne aussi
NCA = nombre de colonne ("fichier_1.txt");

je souhaite utiliser par exemple NLA et NLB, NLC dans des boucles....

Exemple type: fichier à 3 colonne séparées par un espace entre elles trois
dont la ligne i est de type :
Valeur_(i,1) ---- Valeur _(i,2) ------ Valeur_(i,3)

Remarque les tirets "----" représentent la tabulation dans le fichier, les valeurs ne sont séparées que par tabulation ou espace.

(i,1), (i,2) et (i,3) constituent les indices de repérages sur la ligne (i) suivant les colonnes 1,2,3 de notre fichier .txt.

Ma requête est de trouver un code pour le script qui ouvrira et lira chaque fichier tout en leur assignant des identités comme matrice ou vecteur

Merci beaucoup.

A voir également:

1 réponse

Bonjour,

moi j'ai ça pour lire les lignes et leur assigner un indice :

f = fopen('fichier.txt', 'r');
ind = 0;
a = 'aerg'; % ou n'importe quoi, pourvu que ce soient des caractères :p
while ischar(a)
a = fgetl(f); % lit la ligne en cours
ind = ind+1; % numéro de la ligne en cours
end
fclose(f)

En fin de boucle, NLA = ind-1...

En ce qui concerne les colonnes, je ne sais pas faire si on suppose que le nombre de colonnes et le type de données sont inconnus. Dans le cas contraire, il y a fscanf, qui parcourt le fichier comme on le lirait :
si on sait que les N prochaines valeurs sont de type double => A = fscanf(f, '%d', N) => A est un vecteur colonne des N valeurs.

Voilà, j'ai pas d'autre idée pour le moment...

Tchouf
0