Bonjour,
Je viens vous demander conseil car je reste bloquée sur un problème depuis quelque temps.
Voilà, j'ai des fichiers en entrée à lire qui contienent une en-tête avec des paramètres qui m'intéressent.
Le nombre de lignes d'en-tête n'est jamais le même d'un fichier à l'autre. Et donc le nombre de lignes à passer pour accéder à mes données n'est jamais le même d'un fichier à l'autre.
Le fichier d'entrée est de type :
##param1=2
##param2=10
...
ensuite se trouvent les données que je vais traiter.
Ce que j'aimerais c'est passer le nombre de lignes sans préciser le nombre de lignes puisqu'il varie d'un fichier à l'autre mais en précisant que je veux passer la zone d'en-tête. Et aussi je souhaiterais lire la valeur du param1 et d'autres valeurs qui m'intéresse dans l'en-tête.
voici ce que j'ai commencé à faire :
Le soucis ici c'est que je dois préciser le nombre de lignes à passer et ce n'est pas ce que je cherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part data=textscan(fid,repmat('%f',1,1),'headerlines',N);
J'ai aussi fais ça :
Le soucis avec ce code est que je dois ouvrir et fermer mon fichier pour chaque paramètre cherché... Et aussi préciser la ligne de mon paramètre que je veux lire en en-tête. Ce que je souhaiterais, c'est préciser "param1" et que mon code me retourne la valeur sans que je précise la ligne. où se situe param1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 fid=fopen(filename,'rt') N1=1 for i=1:N1 headerline1=fgetl(fid); end fclose(fid); parametre1=str2num(headerline1(10:end));
Quelqu'un aurait-il une idée à ce sujet ?
Merci bien.
Partager