IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

Supprimer lignes de texte ouverture fichier txt


Sujet :

Scilab

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Supprimer lignes de texte ouverture fichier txt
    Bonjour,


    Je cherche à importer un fichier txt dans Scilab qui a cette forme :


    ELEM=   16223  FX         FY         FZ                                      
       15911   1753.7      1767.2    -0.18946E-12
         679   1813.1     -3286.6    -0.14342E-12
     ***** ANSYS - ENGINEERING ANALYSIS SYSTEM  RELEASE 14.0     *****
     ANSYS Mechanical                                  
     00251315          VERSION=LINUX x64     09:45:12  JAN 15, 2015 CP=    202.417
         680   1076.8      1516.8     0.19510E-12
       15912  -4643.5      2.5464     0.13779E-12


    Seules les quatre colonnes de chiffre m'intéressent. Je charge le fichier avec la fonction mopen, mais je n'arrive pas a supprimer les lignes qui contiennent du texte.

    Ma question est donc la suivante : comment supprimer les lignes de texte afin de pouvoir mettre les colonnes de chiffres dans une matrice ?

    Merci,

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fd = mopen("data.txt", "rt")
     
    mgetl(fd, 1)
     
    M1 = mfscanf(2, fd, "%f%f%f%f\n")
     
    mgetl(fd, 3)
     
    M2 = mfscanf(2, fd, "%f%f%f%f\n")
     
    mclose(fd)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Janvier 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Effectivement, le code proposé fonctionne. En revanche, le fichier à traiter est long et le motif (ligne de chiffre ou de lettre) n'est pas régulier.

    Je me demandais donc s'il est possible de faire un teste sur les caractères du début de chaque ligne :

    - si le premier caractère est une lettre, on supprime la ligne
    - si le premier caractère est un chiffre, on conserve la ligne ?

    Rémi,

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Une idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    fd = mopen("data.txt", "rt")
        str = mgetl(fd, -1)
    mclose(fd)
     
    M = [];
     
    for n = 1:size(str, "r")
     
        tok = tokens(str(n), ascii(32))
     
        if and(isnum(tok))
            M = [M strtod(tok)]
        end
     
    end
    A tester et à améliorer

Discussions similaires

  1. Supprimer la dernière ligne vide d'un fichier txt
    Par petit rabot dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/12/2011, 12h15
  2. Supprimer ligne vide d'un fichier .txt
    Par Stagiette dans le forum C#
    Réponses: 6
    Dernier message: 26/01/2010, 17h11
  3. Insérer ligne de texte dans fichier .txt
    Par Gatsu_67 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 06/11/2008, 07h25
  4. Supprimer ligne blanche dans un fichier texte
    Par willytito dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/11/2007, 15h52
  5. Réponses: 2
    Dernier message: 18/05/2006, 13h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo