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

C# Discussion :

filtrage et suppression de ligne d'un tableau


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 42
    Points
    42
    Par défaut filtrage et suppression de ligne d'un tableau
    Bonjour,

    voici le fichier texte duquel je pars.
    Line 1.000N
    /------LINE-----STATION-----ALT.------GRAV.---SD.--TILTX--TILTY-TEMP---TIDE---DUR-REJ-----TIME----DEC.TIME+DATE--TERRAIN---DATE
    1.0000000 1.0000000 1.0000 4700.622 0.033 0.3 -4.0 -2.66 -0.057 30 0 08:10:43 41617.34023 0.0000 2014/01/10
    1.0000000 1.0000000 1.0000 4700.624 0.043 1.0 -1.7 -2.66 -0.057 30 0 08:11:37 41617.34085 0.0000 2014/01/10
    1.0000000 2.0000000 1.0000 4700.626 0.042 -1.7 0.9 -2.67 -0.057 30 0 08:14:10 41617.34262 0.0000 2014/01/10
    1.0000000 2.0000000 1.0000 4700.625 0.044 1.3 5.6 -2.68 -0.057 30 0 08:15:00 41617.34320 0.0000 2014/01/10
    1.0000000 3.0000000 1.0000 4700.664 0.044 1.2 -4.1 -2.69 -0.057 30 0 08:18:06 41617.34535 0.0000 2014/01/10
    1.0000000 3.0000000 1.0000 4700.660 0.038 3.0 -2.5 -2.69 -0.057 30 0 08:18:55 41617.34592 0.0000 2014/01/10
    1.0000000 3.0000000 1.0000 4700.664 0.036 0.1 -2.8 -2.69 -0.057 30 0 08:19:44 41617.34648 0.0000 2014/01/10
    1.0000000 4.0000000 1.0000 4700.688 0.047 -1.3 3.7 -2.70 -0.058 30 0 08:22:15 41617.34823 0.0000 2014/01/10
    1.0000000 4.0000000 1.0000 4700.691 0.047 -5.0 0.2 -2.70 -0.058 30 0 08:23:06 41617.34882 0.0000 2014/01/10
    1.0000000 5.0000000 1.0000 4700.709 0.042 3.2 6.2 -2.70 -0.058 30 0 08:25:10 41617.35025 0.0000 2014/01/10
    1.0000000 5.0000000 1.0000 4700.712 0.050 5.0 0.0 -2.70 -0.058 30 0 08:26:08 41617.35092 0.0000 2014/01/10
    1.0000000 6.0000000 1.0000 4700.788 0.041 -3.2 1.0 -2.69 -0.058 30 0 08:28:26 41617.35251 0.0000 2014/01/10
    1.0000000 6.0000000 1.0000 4700.789 0.045 0.9 -3.4 -2.68 -0.058 30 0 08:29:17 41617.35310 0.0000 2014/01/10
    1.0000000 7.0000000 1.0000 4700.836 0.030 3.7 4.7 -2.67 -0.058 30 0 08:32:27 41617.35530 0.0000 2014/01/10
    1.0000000 7.0000000 1.0000 4700.839 0.048 0.1 1.3 -2.66 -0.059 30 0 08:33:18 41617.35589 0.0000 2014/01/10
    Line 2.000N
    /------LINE-----STATION-----ALT.------GRAV.---SD.--TILTX--TILTY-TEMP---TIDE---DUR-REJ-----TIME----DEC.TIME+DATE--TERRAIN---DATE
    2.0000000 7.0000000 1.0000 4700.823 0.037 3.2 -8.5 -2.65 -0.059 30 0 08:37:01 41617.35846 0.0000 2014/01/10
    2.0000000 7.0000000 1.0000 4700.824 0.078 -0.5 -1.1 -2.65 -0.059 30 0 08:38:08 41617.35924 0.0000 2014/01/10
    2.0000000 6.0000000 1.0000 4700.764 0.045 1.1 -3.4 -2.65 -0.059 30 0 08:40:21 41617.36078 0.0000 2014/01/10
    2.0000000 6.0000000 1.0000 4700.769 0.042 -1.3 -6.6 -2.65 -0.059 30 0 08:41:11 41617.36135 0.0000 2014/01/10
    2.0000000 6.0000000 1.0000 4700.770 0.052 -4.4 -6.4 -2.65 -0.059 30 0 08:42:01 41617.36193 0.0000 2014/01/10
    2.0000000 5.0000000 1.0000 4700.715 0.046 -9.9 -1.5 -2.65 -0.060 30 0 08:44:51 41617.36390 0.0000 2014/01/10
    2.0000000 5.0000000 1.0000 4700.712 0.031 -1.5 1.4 -2.65 -0.060 30 0 08:45:46 41617.36453 0.0000 2014/01/10
    2.0000000 4.0000000 1.0000 4700.691 0.025 3.2 2.7 -2.66 -0.060 30 0 08:47:47 41617.36593 0.0000 2014/01/10
    2.0000000 4.0000000 1.0000 4700.696 0.041 1.1 -2.3 -2.66 -0.060 30 0 08:48:52 41617.36668 0.0000 2014/01/10
    2.0000000 4.0000000 1.0000 4700.694 0.062 3.5 1.7 -2.65 -0.060 30 0 08:49:38 41617.36721 0.0000 2014/01/10
    2.0000000 3.0000000 1.0000 4700.665 0.047 -6.3 -0.8 -2.66 -0.060 30 0 08:51:29 41617.36850 0.0000 2014/01/10
    2.0000000 3.0000000 1.0000 4700.668 0.056 1.0 -6.3 -2.66 -0.060 30 0 08:52:17 41617.36905 0.0000 2014/01/10
    2.0000000 2.0000000 1.0000 4700.628 0.050 10.1 4.5 -2.66 -0.061 30 0 08:53:57 41617.37021 0.0000 2014/01/10
    2.0000000 2.0000000 1.0000 4700.637 0.046 2.8 -0.7 -2.65 -0.061 30 0 08:54:50 41617.37082 0.0000 2014/01/10
    2.0000000 2.0000000 1.0000 4700.642 0.034 -5.8 -4.0 -2.65 -0.061 30 0 08:55:46 41617.37146 0.0000 2014/01/10
    2.0000000 2.0000000 1.0000 4700.639 0.038 -2.3 2.4 -2.65 -0.061 30 0 08:56:35 41617.37203 0.0000 2014/01/10
    2.0000000 1.0000000 1.0000 4700.607 0.067 4.5 4.8 -2.65 -0.061 30 0 08:58:57 41617.37367 0.0000 2014/01/10
    2.0000000 1.0000000 1.0000 4700.614 0.043 -3.3 -0.7 -2.65 -0.061 30 0 08:59:48 41617.37426 0.0000 2014/01/10
    2.0000000 1.0000000 1.0000 4700.612 0.046 4.9 -2.2 -2.65 -0.061 30 0 09:00:34 41617.37479 0.0000 2014/01/10
    ce que j'aimerais faire, c'est avoir un nouveau tableau qui au final :
    garde les lignes commençant par du texte ("line" et "/")
    et ensuite mes conditions portent sur les deux premieres colonnes : line et station (ca correspond a des coordonnées)

    si j'ai 2 mesures pour un point => faire la moyenne des deux ==> copier le résultat dans le nouveau tableau
    si j'ai plus de deux mesures pour un point => trouver les deux valeurs les plus proches, et faire leur moyenne ==>copier le résultat dans le nouveau tableau.

    J'ai réussi a faire un tableau "brut" du fichier texte original
    j'identifie tres bien les lignes commençant par du texte
    j'identifie tres bien les lignes correspondant au point 1-1, 1-2, 1-3 etc ...
    mais au moment de passer à la moyenne ou au filtrage, je me pers dans mes indices du tableau brut et du nouveau tableau.

    Je demande pas le code miracle qui me fera ça, mais des pistes, des méthodes qui pourraient m'être utiles.

    merci

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 641
    Points : 2 154
    Points
    2 154
    Par défaut
    Bonjour,

    mais au moment de passer à la moyenne ou au filtrage, je me pers dans mes indices du tableau brut et du nouveau tableau.
    quand il s'agit de travailler avec un ensemble non fini d'éléments , il est plutôt préférable de travailler avec des List ,HashSet,etc ....Cela facilite grandement le travail vu que tu n'auras qu'a ajouter a ta List (par exemple) toutes les lignes que tu souhaites récupérer.

    Et si après le filtrage , tu souhaites quand même avoir un tableau pour tes résultats , tu peux convertir ta List en tableau très facilement.

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour, Pour des raisons de performance (memoire et vitesse) il est preferable de parcourir le fichier en l'enumerant plutot que de le charger entierement (voir IEnumerable/yield return) il suffit ensuite de profiter des methodes d'extension (Enumerable.Where) presentes dans le namespace System.Linq pour filtrer tes lignes avant de le transformer en tableau via la methode Enumerable.ToArray.

Discussions similaires

  1. suppression de ligne d'un tableau
    Par benyasla dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/10/2009, 00h52
  2. Probléme avec la suppression de ligne dans un tableau
    Par Tintou dans le forum VBA Word
    Réponses: 6
    Dernier message: 20/08/2009, 15h06
  3. Ajout/Suppression de ligne dans un tableau
    Par Nimothenicefish dans le forum WinDev
    Réponses: 2
    Dernier message: 14/02/2008, 11h56
  4. [Tableaux] Suppression de lignes dans un tableau
    Par lodan dans le forum Langage
    Réponses: 9
    Dernier message: 15/09/2006, 20h08
  5. [Word] Suppression des lignes d'un tableau
    Par sat478 dans le forum VBA Word
    Réponses: 2
    Dernier message: 06/09/2006, 14h22

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