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 :

parcourir les éléments d'une colonne dans un fichier csv


Sujet :

Python

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 110
    Par défaut parcourir les éléments d'une colonne dans un fichier csv
    Bonjour
    j'ai un fichier csv composé de 4 colonnes et 10 lignes
    Comment je peux parcourir les éléments de chaque colonne??
    j'ai fait le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    lecteur = csv.reader(open("MONFICHIER.csv","rb"))
    for row in :
        print row
    Mais, il me permet de parcourir les lignes de fichier non pas les colonnes.
    et le code suivant me donne seulement les élements de la colonne 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for row in :
        print row[1]
    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 156
    Par défaut
    Bonjour,

    Cette question a déjà été posée moult fois : http://www.developpez.net/forums/d16...-texte-python/

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 308
    Par défaut
    Salut,

    Et si tu reconstitues ton tableau, ce n'est pas plus simple ?

    Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    table = []
    with open('mat.csv', 'r') as csvfile:
        matreader = csv.reader(csvfile, delimiter='\t')
        for row in matreader:
            table.append(row)
    Ensuite pour extraire une colonne seule, par exemple la troisième:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    col_2 = [i[2] for i in table]
    print(col_2)

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 110
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Et si tu reconstitues ton tableau, ce n'est pas plus simple ?

    Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    table = []
    with open('mat.csv', 'r') as csvfile:
        matreader = csv.reader(csvfile, delimiter='\t')
        for row in matreader:
            table.append(row)
    Ensuite pour extraire une colonne seule, par exemple la troisième:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    col_2 = [i[2] for i in table]
    print(col_2)
    Merci pour la réponse.
    Mon objectif est de parcourir à chaque fois une colonne pour faire un calcul précis sur les éléments de chaque colonne de fichier.
    je ne cherche pas une colonne précise.
    Merci d'avance

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 308
    Par défaut
    Il suffit d'utiliser min() ou max() sur chaque ligne.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    best_of = []
    for t in table:
        m = max(t)
        best_of.append((t.index(m), m))
     
    for idx, best in enumerate(best_of):
        print("-%s  best: %s\tcol: %s" %(idx, best[1], best[0]))

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 110
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Il suffit d'utiliser min() ou max() sur chaque ligne.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    best_of = []
    for t in table:
        m = max(t)
        best_of.append((t.index(m), m))
     
    for idx, best in enumerate(best_of):
        print("-%s  best: %s\tcol: %s" %(idx, best[1], best[0]))
    Merci VinsS pour votre patience.
    Mais comment je peux parcourir les colonnes de fichier, il n' y a pas une sorte de boucle for ou bien transformer chaque colonne à une liste pour que je peux faire mes calculs.

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 308
    Par défaut
    C'est ce que j'ai fait dans ma réponse #3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    col_2 = [i[2] for i in table]
    print(col_2)
    i[0] pour la première colonne et ainsi de suite.

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 110
    Par défaut
    Citation Envoyé par VinsS Voir le message
    C'est ce que j'ai fait dans ma réponse #3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    col_2 = [i[2] for i in table]
    print(col_2)
    i[0] pour la première colonne et ainsi de suite.
    Est que je dois parcourir colonne par colonne et moi j'ai 10 colonnes (c'est lent) et Comment je peux arriver aux éléments de chaque colonne.
    Est que je peux transformer chaque colonne à une liste en utilisant une méthode (comme la méthode readlines dans les fichiers textes)
    Merci

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 308
    Par défaut
    Citation Envoyé par zeinab ali Voir le message
    Est que je peux transformer chaque colonne à une liste en utilisant une méthode (comme la méthode readlines dans les fichiers textes)
    Merci
    Mais c'est cela que fait ce code, l'as-tu essayé ?

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 110
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Mais c'est cela que fait ce code, l'as-tu essayé ?
    Merci bien VinsS pour vos réponses.
    Cordialement

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

Discussions similaires

  1. [JDOM] Récupérer les éléments d'une balise dans un fichier xml complexe avec JDOM et java
    Par thdco dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 07/03/2016, 11h47
  2. Ajout d'une colonne dans un fichier csv
    Par sorilazer dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 12/11/2012, 19h08
  3. Copier les éléments d'une colonne dans une autre
    Par adam57 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 05/12/2008, 16h23
  4. Réponses: 2
    Dernier message: 07/04/2008, 17h37
  5. Réponses: 2
    Dernier message: 27/12/2005, 21h09

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