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 :

fermeture de boucle prématurée lors de la création d'un CSV


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : autre
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut fermeture de boucle prématurée lors de la création d'un CSV
    Bonjour.

    J'ai un problème avec le script ci-dessous.

    Dans le dossier C:\Dossier, j'ai plusieurs sous-dossiers avec chacun des fichier mxd.

    Lorsque j'exécute mon script, la boucle s'arrête dès le premier sous dossier après avoir écrit les lignes dans le csv.

    Or en lorsque je teste mon script sans export CSV, avec juste print, le script parcour bien tout les sous-dossier de mon dossier et m'affiche mes résultats dans la console.

    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 arcpy 
    import glob 
    import os 
    import csv
     
    c = csv.writer(open("listbrokendatasources.csv", "wb"), delimiter=';')
    c.writerow(["mxd","couche","datasource"])
     
     
    for pathname, directories, filenames in os.walk(r"C:\Dossier"): 
        for filename in filenames: 
            if filename.lower().endswith(".mxd"): 
                mxd = arcpy.mapping.MapDocument(os.path.join(pathname, filename)) 
                filename, ext = os.path.splitext(os.path.join(pathname, filename))
                brknList = arcpy.mapping.ListBrokenDataSources(mxd)
                for brknItem in brknList:
                    c.writerow([mxd.filePath,brknItem.name,brknItem.dataSource])
    Quelqu'un sait pourquoi la boucle ne boucle pas ?

    Merci d'avance.

    Pour infos, je suis nouveau.

  2. #2
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Si la boucle s’arrête "sans raison", il y a probablement un message d’erreur qui s’affiche dans la console*? Si oui, ce serait bien de le donner.

    Si non, placer des print() à chaque niveau d’imbrication, pour voir déjà *où* ça coince exactement (print(), premier réflexe du débugueur! ).

  3. #3
    Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : autre
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut trouvé !
    Mon problème était dû à un problème d'encodage dans mes résultats.

    Il vaut donc mieux indiquer l'encodage souhaité our les données en sortie.

    merci.

  4. #4
    Membre Expert

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Par défaut
    Pensez au bouton “Résolu”…

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/05/2012, 00h33
  2. Réponses: 4
    Dernier message: 11/08/2008, 12h08
  3. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  4. message d'erreur lors de la création de la base
    Par ber_jp dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 20/05/2004, 12h15
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 15h47

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