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 :

Jongler entre plusieurs fichiers en même temps


Sujet :

Python

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 53
    Points : 40
    Points
    40
    Par défaut Jongler entre plusieurs fichiers en même temps
    Bonjour,

    je dispose de 2 fichiers csv et j'aimerai comparer les valeurs de deux colonnes appartenant à chacun de ces fichiers, je m'explique.
    Je dispose d'un fichier X ayant une colonne A, et d'un fichier Y ayant une colonne A' et une colonne B. Je veux tester l'égalité entre les valeurs de ma colonne A et ma colonne A', si les valeurs sont égales, alors j'ajoute les valeurs de la colonne B dans une colonne de mon fichier X (la colonne B' par exemple).

    J'avais pensé au script :

    Code : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #importation du module csv
    import csv   
     
     
    #ouverture et lecture et ecriture du fichier X
    fichier = open('fichierX.csv','rb')			
    fichiercsv = csv.reader(fichier, delimiter='	')
     
    #ouverture et lecture du fichier Y
    fichier2 = open('fichierY.csv','rb','wb')		
    fichiercsv2 = csv.reader(fichier, delimiter='	')
     
     
     
    #stockage de la premiere colonne du fichier X dans A
    for colonne in fichiercsv:				
     
      A = colonne[0]
     
    #stockage de la premiere colonne du fichier Y dans Aprime
    for colonne2 in fichiercsv2:				
     
      Aprime = colonne2[0]
     
    #comparaison des 2 colonnes, si egalite on rempli une nouvelle colonne du fichier X avec une colonne du fichier Y
    	if colonne[0] == colonne2[0]:
    		colonne[1].append(colonne2[1])
     
     
    # fermeture des fichiers
    fichier.close()
    fichier2.close()
    L'allocation des colonnes de données à mes différentes variables fonctionne, mais mon test de comparaison ne semble pas être correct, je débute dans la manipulation des fichiers, je ne pense pas que ma ligne de remplissage d'une nouvelle colonne avec "append" soit correcte non plus :/

    Si vous aviez une piste je vous en serait très reconnaissant

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Points : 426
    Points
    426
    Par défaut
    Tu peux utiliser zip() pour itérer sur tes 2 listes simultanément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    #!/usr/bin/env python
     
    list1 = [1, 2, 3 ,4]
    list2 = [4, 3, 2, 1]
     
    for item1, item2 in zip(list1, list2):
        print("%d, %d" % (item1, item2))
    produit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1, 4
    2, 3
    3, 2
    4, 1
    Dans ton code, tu utilises colonne en dehors de la première boucle,à vue de nez tu n'as que la dernière valeur de ton premier fichier.

    Enfin, je pense que ce serait pas mal que tu crées un 3e fichier avec le résultat de ton traitement.

    J'espère que tes fichiers sont ordonnés de façon identique

Discussions similaires

  1. [XL-2003] Difficultés à ouvrir plusieurs fichiers en mêmes temps
    Par anfernus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/07/2010, 13h53
  2. Réponses: 15
    Dernier message: 24/11/2008, 16h16
  3. Réponses: 38
    Dernier message: 26/09/2008, 17h46
  4. Ouverture de plusieurs fichiers en même temps ?
    Par nicolas.sitbon dans le forum POSIX
    Réponses: 42
    Dernier message: 07/08/2008, 23h35
  5. ouvrir plusieurs fichiers en même temps
    Par diiity dans le forum Windows
    Réponses: 0
    Dernier message: 03/08/2007, 18h26

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