1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2017
    Messages : 7
    Points : 7
    Points
    7

    Par défaut Raspberry traitement fichier logs extension .dat

    Bonjour à tous,

    Bon je ne suis pas sûr si je poste au bon endroit mais je vais vous expliquer mon problème : Je voudrais, avec mon raspberry pi 3, extraire certaines lignes d'un fichier de logs sous extension .dat qui comprends 7 colonnes de données rangées de cette façon:

    MOTEUR T OA L 14 12/03/2015 15:27:15
    VENTILO A BO N 36 15/03/2015 15:24:06

    Dans cette exemple je voudrais extraire (parser) la ligne seulement si c'est TOTO et 36 dans la première et cinquième colonne ...puis l'envoyer par mail ou sms (mais ça c'est un autre problème )

    Si vous avez une idée je suis preneur :ai
    Merci !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    7 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 7 251
    Points : 22 034
    Points
    22 034

    Par défaut

    awk devrait résoudre ton problème...

    EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '$1 == "TOTO" && $5 == "36"' monfichier.dat
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2017
    Messages : 7
    Points : 7
    Points
    7

    Par défaut

    Merci je vais regarder ça !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2017
    Messages : 7
    Points : 7
    Points
    7

    Par défaut

    Re-bonjour alors je n'ai pas du tout utilisé la fonction awk mais la librairie panda, en convertissant mon .dat en .csv au préalable, ce qui me donne :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    import csv
    import pandas as pd
    import numpy as np
    with open('fichierdata.dat', 'r') as input_file:
       lines = input_file.readlines()
       newLines = []
       for line in lines:
          newLine = line.strip().split()
          newLines.append( newLine )
     
    with open('fichierdata.csv', 'w') as test_file:
       file_writer = csv.writer(test_file)
       file_writer.writerows( newLines )
     
    df = pd.read_csv('fichierdata.csv', names=['Personne','Couleur','marque', 'Nom','Age', 'Date','Time'])
     
    print(df.loc[(df['Age'] == '45') & (df['Couleur'] == vert) & (df['Nom'] == 'Jean')])

    En espérant que ça puisse aider quelqu'un dans le futur !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. traitement fichier de logs
    Par bambi38 dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2009, 17h13
  2. comment lire un fichier d'extension.dat
    Par manjava dans le forum Général Java
    Réponses: 1
    Dernier message: 26/05/2009, 23h11
  3. Traitement de logs apache vers fichier CSV
    Par GTJuanpablo dans le forum Langage
    Réponses: 3
    Dernier message: 22/04/2009, 15h14
  4. [Tableaux] Traitement de fichier log
    Par pascalbout1 dans le forum Fonctions
    Réponses: 2
    Dernier message: 17/07/2007, 14h20
  5. Quel SGBD correspond aux fichiers à extension .DAT
    Par jcpitaud dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/04/2006, 20h11

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