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 :

Problème de code Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut Problème de code Python
    Bonjour je souhaite extraire différentes valeurs venant deplusieurs fichiers Excel
    j'arrive à lires les infos que vous pouvez voir ci-dessous.
    Mais je n'arrive pas à faire la suite pouvez vous m'aidez ?

    j'aimerai comparer le résultat ci-dessous

    log_UT112-02-2016_14_37_01.892.csv : ['00', '00', '00', '00', '00']
    log_UT112-02-2016_14_37_01.592.csv : ['00', '00', '00', '00', '00']
    X10000 ligne pour chaque excel
    l'information qui m'intéresse se situe entre F et K donc 6-11.

    J'aimerai faire ceci en C mais je galère en python.

    if comparer [6-11] == "00"
    then ne pas afficher continuer à incrémenter les lignes est vérifier

    if comparer [6-11] != "00"
    then
    faire se qui est dessous que je ne sais absolument pas comment je dois faire
    1 - Créer ou ouvrir un fichier nommé résult en écriture
    2 - Écrire le nom du fichier excel en question (saut de colonne)
    3 - écrire [6] (saut de colonne), écrire [7] (saut de colonne), écrire [8] (saut de colonne), écrire [9] (saut de colonne), écrire [10] (saut de colonne), écrire [11] (saut de colonne)
    4 - fermer le fichier result
    5 - revenir à l'analyse de la ligne juste en dessous d’où est sortie la précédentes erreur

    voici mon code actuel

    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
     
     
    import os
    import csv
     
    if __name__ == "__main__":
        for f_name in os.listdir("FAI"):
            with open("FAI/" + f_name, 'r') as f1:
                r = csv.reader(f1, delimiter=";")
                with open("result.csv", 'wb') as f2:
                    w = csv.writer(f2, delimiter=";")
                    for row in r:
                        if(row[5] != '00'):
                            print([f_name] + row[5:11] + [r.line_num])
                            w.writerow([f_name] + row[5:11] + [r.line_num])
                            if(row[5] == '00'):
                                print(f_name + " : " + (row[5:11]) + " Ligne "+str(r.line_num))
    il me répond

    log_UT112-02-2016_14_28_44.177.csv : ['43', '4b', '21', '41', '46', '45'] Ligne 1
    la c'est okey
    créer un fichier result.csv mais n'écris jamais à l'intérieur.

    il continue a chercher dans tout les fichier de log (25GO de donnée) et d'un coup il me met l’erreur ci-dessous :

    Traceback (most recent call last):
    File "D:\Users\kc5362\Desktop\code erreur\Gestion Erreur\AnalyseFDL.py", line 12, in <module>
    if(row[5] != '00'):
    IndexError: list index out of range

    merci encore de votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Salut,

    Si la liste à comparer est ['00', '00', '00', '00', '00'] alors il suffit de la comparer à row[6:11].
    Voir la documentation:
    Lexicographical comparison between built-in collections works as follows:

    For two collections to compare equal, they must be of the same type, have the same length, and each pair of corresponding elements must compare equal (for example, [1,2] == (1,2) is false because the type is not the same).
    Collections that support order comparison are ordered the same as their first unequal elements (for example, [1,2,x] <= [1,2,y] has the same value as x <= y). If a corresponding element does not exist, the shorter collection is ordered first (for example, [1,2] < [1,2,3] is true).
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    j'ai rien compris sur les 5 premières lignes, j'ai pas cherché plus loin

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

Discussions similaires

  1. Récupérer le code source d'une page HTML
    Par phyn04 dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 24/11/2016, 14h45
  2. Problème code python
    Par jmbinformatique dans le forum Général Python
    Réponses: 1
    Dernier message: 23/09/2015, 12h32
  3. Réponses: 9
    Dernier message: 24/09/2011, 17h07
  4. Probléme de code non portable
    Par Stany dans le forum Windows
    Réponses: 2
    Dernier message: 23/08/2005, 11h02

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