Utiliser les données d'un .txt sous SCILAB

Résolu
matt -  
daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous, je travail sous SCILAB et je cherche à récupérer les données contenu dans un fichier .txt, elles sont écrite sous formes de tableau (4 colonnes 20 lignes).

J'arrive à extraire le tableau, mais je voudrai pouvoir séléctionner la ligne que je désire, et pouvoir garder juste cette info.

j'en suis ici dans mon code:

// Ouverture du fichier
fichier_mes_lib=mopen('tpp.txt','r') ;

//use niter=-1 to read up to the end of file
donne_mesure_char_lib=mfscanf(-1,fichier_mes_lib,'%d %d %d %f')

// Fermeture du fichier
mclose(fichier_mes_lib);

j'ai essayé d'utiliser la fonction mscanf mais je n'y arrive pas.
merci
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    bonne continuation mon ami, grace à toi j'ai appris des choses sur scilab (et oui j'ai fait des recherches pour t'aider)

    N'hésite pas la prochaine fois

    tchû
    5
  2. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    est-ce que ton "donne_mesure_char_lib" correspond à une matrice maintenant ?

    si tel est le cas alors accedes-y par donne_mesure_char_lib(i,j) ou i et j sont tes lignes et colonnes

    je ne sais poas si cela va marcher mais on ne sais jamais ...

    tchû
    1
    1. matt
       
      non, je crois pas.
      je crois que sa correspond à une chaine de caractère.

      car après mon but est de divisé cette chaine en 4 donnés qui correspond aux 4 colonnes.
      lorsque je rentre mes données sur le .txt je les sépares d'une tabulation pour pouvoir les reconnaitres

      merci quand mm
      0
  3. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    tu peux faire ça : y(2,1:3) = mfscanf(fd, '%f %f %f\n'),
    que j'ai vu ici : https://fr.wikibooks.org/wiki/D%C3%A9couvrir_Scilab_Gestion_des_fichiers vers le milieu de page.

    ici y est une matrice et on y met les trois valeurs scannée dans les trois premiere ligne
    0
    1. matt
       
      je suis entrain d'éssayer mais il faut que je rentre chez moi.
      je te redonne des nouvelles dès que j'ai du nouveau.

      merci beaucoup
      0
  4. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    je me suis renseigner et tu peux faire

    donne_mesure_char_lib=mfscanf(-1,fichier_mes_lib,"%d %d %d %f") comme tu l'avais indiquer ce qui correspond à une matrice de 4 colonnes et de n lignes.

    tu as aussi

    donne_mesure_char_lib=fscanfMat('tpp.txt'); qui lit une matrice depuis le fichier ça marche super bien je viens de l'essayer.

    voila essaie voir si cela marche

    tiens moi au courant

    tchû
    0
    1. matt
       
      j'ai essayé la manière de la matrice et sa marche, j'ai également opté pour un tableau de sturcture:
      Avec une boucle de récupération ligne par ligne:
      voilà le code:


      w=1;
      //ouvrir le fichier
      fichier=mopen('tpp.txt','r');

      //boucle de récupération jusqu'à la fin du fichier
      while err==meof(fichier) do

      //récuperation des données
      ligne=mfscanf(fichier,'%f %f %f %f');

      //stockage des données
      stock(w).i=ligne;
      w=w+1;

      end


      et en faisant:

      ligne_choisie=matt(16).i

      j'arrive à récuperer la ligne que je veux ( en l'occurence ligne=16)


      en tout cas merci, tu m'a beaucoup aider dans mes recherches.

      merci beaucoup daronmaster
      a plus
      0
      1. matt > matt
         
        pardon pour récuperer la ligne c'est

        ligne_choisie=stock(16).i


        à plus
        0