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

Python Discussion :

Récupérer les lignes d'un tableau Excel selon la valeur d'une colonne


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2004
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2004
    Messages : 532
    Par défaut Récupérer les lignes d'un tableau Excel selon la valeur d'une colonne
    Bonjour,

    j'ai un petit soucis pour récupérer les lignes d'un fichier Excel selon la valeur d'une colonne.
    Ma problématique que j'ai un fichier xlsx qui contient des colonnes, et la colonnes (ServiceValue) sur la quelle je veux me basé contient des valeurs comme : TCP/22, UDP/55, TCP/23 .....

    j'ai trouvé des trucs pour avoir un code qui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import pandas as pd
     
    df = pd.read_excel("file.xlsx")
     
    df_SRV = df[(df.ServiceValue.str.contains("TCP/21")) | (df.ServiceValue.str.contains("23"))]
     
    print(df_SRV)
    Mon problème c'est que mon code revoit toute valeur qui contient 21 ou 23 en début.

    des pistes indices s'ils vous plaît?

    Merci.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par badr Voir le message
    des pistes indices s'ils vous plaît?
    Si vous voulez trier les chaînes qui se terminent par xyz et non celle qui contiennent xyz, c'est pas str.contains mais plutôt str.endswith qu'il faut utiliser.

    note: endswith, contains, startswith,... sont des opérations de base sur les chaînes de caractères que vous devriez avoir rencontré avant de vous jeter dans pandas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre chevronné
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2004
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2004
    Messages : 532
    Par défaut
    Merci wiztricks pour votre réponse,

    je suis novice dans Python et Pandas, développement en général.

    quand j'ai testé str.endwith() j'ai un autre soucis pour d'autres valeurs tel que "TCP/445:0-65535", j'aurais aimé un code une méthode globale pour chercher toutes mes combinaisons puisque le fichier Excel est une extraction de Firewall Forti, et le codage des règles n'est pas conforme :/ :/

    si vous avez d'autres idées je suis preneur

    Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par badr Voir le message
    j'aurais aimé un code une méthode globale pour chercher toutes mes combinaisons
    Le code que vous écrivez doit correspondre à ce qui est récupéré dans le fichier de données... et le boulot du programmeur sera de construire la solution appropriée.
    Quand je vois "TCP/445:0-65535", je vois 3 champs TCP, 445, 0-65535 peut être que certaines lignes n'en ont que 2. Ca fait autant de tests et de conditions pour trier proprement.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2011, 20h29
  2. Réponses: 1
    Dernier message: 18/12/2009, 20h43
  3. Réponses: 1
    Dernier message: 28/03/2008, 15h05
  4. Incrémenter les lignes d'un tableau excel par une variable
    Par lucien(67) dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2008, 18h10
  5. Réponses: 5
    Dernier message: 20/07/2007, 15h15

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