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

R Discussion :

Selectionner lignes à lire R


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2019
    Messages : 1
    Par défaut Selectionner lignes à lire R
    Bonjour,

    Je suis nouvelle sur le forum, et j'aurais besoin d'aide pour décortiquer un fichier.

    Mon fichier se présente ainsi :

    Année;1986;
    ;
    Débits mensuels en m3/s;
    ;QMM;QMN;V;
    J;;;;;
    F;;;;;
    M;;;;;
    A;;;;;
    M;;;;;
    J;;;;;
    J;;;;;
    A;;;;;
    S;;;;;
    O;;;;;
    N;;;;;
    D;;;;;

    Statistiques;
    ;;Janvier;Février;Mars;Avril;Mai;Juin;Juillet;Août;Septembre;Octobre;Novembre;Décembre;1986
    Ecoulement mensuel;Validité;;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;
    Ecoulement naturel reconstitué;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;
    Maximum instantané;();;;;;;;;;;;;;;
    ;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
    ;();;;;;;;;;;;;;;
    ;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
    ;

    Débits journaliers;
    Jour/Mois;Janvier;;Février;;Mars;;Avril;;Mai;;Juin;;Juillet;;Août;;Septembre;;Octobre;;Novembre;;Décembre;;
    ;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;
    1;;;;;;;;;;;;;;;;;;;;;;;;;
    2;;;;;;;;;;;;;;;;;;;;;;;;;
    3;;;;;;;;;;;;;;;;;;;;;;;;;
    4;;;;;;;;;;;;;;;;;;;;;;;;;
    5;;;;;;;;;;;;;;;;;;;;;;;;;
    6;;;;;;;;;;;;;;;;;;;;;;;;;
    7;;;;;;;;;;;;;;;;;;;;;;;;;
    8;;;;;;;;;;;;;;;;;;;;;;;;;
    9;;;;;;;;;;;;;;;;;;;;;;;;;
    10;;;;;;;;;;;;;;;;;;;;;;;;;
    11;;;;;;;;;;;;;;;;;;;;;;;;;
    12;;;;;;;;;;;;;;;;;;;;;;;;;
    13;;;;;;;;;;;;;;;;;;;;;;;;;
    14;;;;;;;;;;;;;;;;;;;;;;;;;
    15;;;;;;;;;;;;;;;;;;;;;;;;;
    16;;;;;;;;;;;;;;;;;;;;;;;;;
    17;;;;;;;;;;;;;;;;;;;;;;;;;
    18;;;;;;;;;;;;;;;;;;;;;;;;;
    19;;;;;;;;;;;;;;;;;;;;;;;;;
    20;;;;;;;;;;;;;;;;;;;;;;;;;
    21;;;;;;;;;;;;;;;;;;;;;;;;;
    22;;;;;;;;;;;;;;;;;;;;;;;;;
    23;;;;;;;;;;;;;;;;;;;;;;;;;
    24;;;;;;;;;;;;;;;;;;;;;;;;;
    25;;;;;;;;;;;;;;;;;;;;;;;;;
    26;;;;;;;;;;;;;;;;;;;;;;;;;
    27;;;;;;;;;;;;;;;;;;;;;;;;;
    28;;;;;;;;;;;;;;;;;;;;;;;;;
    29;;;;;;;;;;;;;;;;;;;;;;;;;
    30;;;;;;;;;;;;;;;;;;;;;;;;;
    31;;;;;;;;;;;;;;;;;;;;;;;;;



    Année;1987;
    ;
    Débits mensuels en m3/s;
    ;QMM;QMN;V;
    J;;;;;
    F;;;;;
    M;;;;;
    A;;;;;
    M;;;;;
    J;;;;;
    J;;;;;
    A;;;;;
    S;;;;;
    O;;;;;
    N;;;;;
    D;;;;;

    Statistiques;
    ;;Janvier;Février;Mars;Avril;Mai;Juin;Juillet;Août;Septembre;Octobre;Novembre;Décembre;1986
    Ecoulement mensuel;Validité;;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;
    Ecoulement naturel reconstitué;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;();;;;;;;;;;;;;;
    ;
    Maximum instantané;();;;;;;;;;;;;;;
    ;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
    ;();;;;;;;;;;;;;;
    ;Date;*;*;*;*;*;*;*;*;*;*;*;*;*;
    ;

    Débits journaliers;
    Jour/Mois;Janvier;;Février;;Mars;;Avril;;Mai;;Juin;;Juillet;;Août;;Septembre;;Octobre;;Novembre;;Décembre;;
    ;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;Débit;Validité;
    1;;;;;;;;;;;;;;;;;;;;;;;;;
    2;;;;;;;;;;;;;;;;;;;;;;;;;
    3;;;;;;;;;;;;;;;;;;;;;;;;;
    4;;;;;;;;;;;;;;;;;;;;;;;;;
    5;;;;;;;;;;;;;;;;;;;;;;;;;
    6;;;;;;;;;;;;;;;;;;;;;;;;;
    7;;;;;;;;;;;;;;;;;;;;;;;;;
    8;;;;;;;;;;;;;;;;;;;;;;;;;
    9;;;;;;;;;;;;;;;;;;;;;;;;;
    10;;;;;;;;;;;;;;;;;;;;;;;;;
    11;;;;;;;;;;;;;;;;;;;;;;;;;
    12;;;;;;;;;;;;;;;;;;;;;;;;;
    13;;;;;;;;;;;;;;;;;;;;;;;;;
    14;;;;;;;;;;;;;;;;;;;;;;;;;
    15;;;;;;;;;;;;;;;;;;;;;;;;;
    16;;;;;;;;;;;;;;;;;;;;;;;;;
    17;;;;;;;;;;;;;;;;;;;;;;;;;
    18;;;;;;;;;;;;;;;;;;;;;;;;;
    19;;;;;;;;;;;;;;;;;;;;;;;;;
    20;;;;;;;;;;;;;;;;;;;;;;;;;
    21;;;;;;;;;;;;;;;;;;;;;;;;;
    22;;;;;;;;;;;;;;;;;;;;;;;;;
    23;;;;;;;;;;;;;;;;;;;;;;;;;
    24;;;;;;;;;;;;;;;;;;;;;;;;;
    25;;;;;;;;;;;;;;;;;;;;;;;;;
    26;;;;;;;;;;;;;;;;;;;;;;;;;
    27;;;;;;;;;;;;;;;;;;;;;;;;;
    28;;;;;;;;;;;;;;;;;;;;;;;;;
    29;;;;;;;;;;;;;;;;;;;;;;;;;
    30;;;;;;;;;;;;;;;;;;;;;;;;;
    31;;;;;;;;;;;;;;;;;;;;;;;;;

    Ces données se répètent d'année en année à la suite, sur une période d'une vingtaine d'années, et j'ai en tout un très grand nombre de lignes dans mon fichier.
    J'aimerais pouvoir récupérer seulement les lignes en orange de mon fichier.

    Je suis débutante sous R. J'essaie d'utiliser les fonctions readLines en y intégrant des conditions, mais sans succès.

    Est-ce que quelqu'un aurait une piste pour me débloquer?

    Merci d'avance!

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    Par défaut
    Bonjour,

    Si ça correspond bien à ce que vous voulez:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    pattern <- "Débits journaliers;"
    con <- file("file.txt", "r")
    lines <- c()
    c <- -1
    while(TRUE) {
      line = readLines(con, 1)
      if(length(line) == 0) break
      if(grepl(pattern = pattern, x = line)){c<-0}
      if(c!=-1){ lines <- c(lines,line); c<-c+1}
      if(c>=34){c<- -1}
    }
    close(con)
     
    write(lines, file = "res.txt")

Discussions similaires

  1. selectionner ligne clique Droit + popup mneu
    Par oxo35 dans le forum Composants
    Réponses: 0
    Dernier message: 21/05/2010, 10h48
  2. Selectionner ligne en dessous d'un tableau
    Par adriennoob dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/03/2010, 16h47
  3. [VBA-E] selectionner lignes
    Par gigs dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/04/2006, 16h42
  4. [C#][DataGridView]Comment selectionner ligne sur Click Droit ?
    Par VincenzoR dans le forum Windows Forms
    Réponses: 12
    Dernier message: 23/12/2005, 22h34
  5. Selectionner ligne dans une ClistCtrl
    Par fr66 dans le forum MFC
    Réponses: 2
    Dernier message: 03/05/2004, 14h58

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