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 :

Extraire des lignes fichiers txt


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 27
    Points : 14
    Points
    14
    Par défaut Extraire des lignes fichiers txt
    Bonjour tout le monde, j'ai un petit soucis concernant un algorithme que je souhaiterais concevoir et je ne trouve pas de réponse exact à mes questions sur gogole :

    Tous les mois, un outil créer un fichier log .txt présentant des statistiques en brut.

    Le programme, lui, doit
    - allez chercher ce fichier
    - l'ouvrir
    - le lire ligne par ligne. Et jusqu'à trouver toutes les chaines de caractères recherché (3 lignes sur les milliers du fichier pour etre exact).
    - Récupérer le premier nombre qui suit la chaine de caractère (sur la même ligne) et qui correspond à la donnée m'intéressant.
    - Créer un excel avec ses données synthétiser

    Voila voila si vous pouviez m’aiguiller ce serait super cool !

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    bonjour

    t'aiguiller, on peut même le faire à ta place... si tu veux !

    Ouvrir un fichier ==> En cherchant, tu trouveras surement.
    Lire ==> Idem, il suffit de lire ligne par ligne, par exemple pour commencer...
    Comparer avec chaines à rechercher...
    une fois trouvé, lire encore une ligne et l'analyser (fonction split par exemple de la classe string...)
    Créer fichier Excel ? Si tu peux faire du CSV (lisible par exemple), tu gagneras en temps..

    Sinon, il y a plusieurs questions sur la génération d'excel sur ce forum... (perso, j'aime bien Epplus, librairie gratos sur Codeplex)... mais bon, vu que tu as l'air
    super débutant en C#, j'ose pas t'y pousser !
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    bonjour

    t'aiguiller, on peut même le faire à ta place... si tu veux !

    Ouvrir un fichier ==> En cherchant, tu trouveras surement.
    Lire ==> Idem, il suffit de lire ligne par ligne, par exemple pour commencer...
    Comparer avec chaines à rechercher...
    une fois trouvé, lire encore une ligne et l'analyser (fonction split par exemple de la classe string...)
    Créer fichier Excel ? Si tu peux faire du CSV (lisible par exemple), tu gagneras en temps..

    Sinon, il y a plusieurs questions sur la génération d'excel sur ce forum... (perso, j'aime bien Epplus, librairie gratos sur Codeplex)... mais bon, vu que tu as l'air
    super débutant en C#, j'ose pas t'y pousser !
    Pour commencer merci beaucoup de la réponse rapide !

    Alors du coup je crois que j'ai trouver pour ouvrir le fichier et lire ligne par ligne mais je ne vois pas comment comparer, et récupérer seulement mes trois lignes concerné.

    Une ligne se présente ainsi : chainedecaractere unnombre unnombre

    je souhaite du coup récupérer uniquement le premier nombre de mes trois lignes concerné, donc mes trois chaine de caractere (appelons les A B C)

    une idée ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Comme t'as dit Monz : String.Split par exemple...

    Citation Envoyé par theMonz31 Voir le message
    une fois trouvé, lire encore une ligne et l'analyser (fonction split par exemple de la classe string...)

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu lis ta ligne dans un objet de type string.

    la classe string possède une méthode split qui permet de séparer en utilisant un/des caractères de séparation.

    si tes chaines sont séparées par un espace (ce qui semble être le cas), un bête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] data = maLigne.Split(" ");
    te donnera un tableau avec les éléments dans la ligne...

    donc, tu accèdes ensuite à tes valeurs par data[0], data[1], etc...

    et si tu veux convertir une des chaines en entier, ou float, etc... tu peux utiliser les fonctions parses des classe int, float, double, etc...

    pour la comparaison, un bête : data[0] == "tachaineàcomparer" devrait suffire...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. [Débutant] fusionner des lignes fichier .txt
    Par bob633 dans le forum C#
    Réponses: 14
    Dernier message: 07/11/2011, 16h27
  2. Réponses: 2
    Dernier message: 06/06/2008, 16h49
  3. Extraire des lignes d'un fichier
    Par Scal-tn dans le forum Administration système
    Réponses: 3
    Dernier message: 20/04/2008, 13h39
  4. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22
  5. Extraire des lignes precises d'un fichier
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 03/06/2004, 10h52

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