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 :

Vérifier la présence d'un fichier xls dans un dossier [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut Vérifier la présence d'un fichier xls dans un dossier
    Bonjour à toutes et à tous

    Dans le cadre de mon travail je reçois des dossiers comprenant des sous dossiers et un fichier EXCEL. Malheureusement mon programme bloque car parfois je n'ai pas tous les documents.
    Je cherche donc a faire un programme pour vérifier le contenu de ce dossier.
    Le dossier doit comporter deux sous dossier (FOND DE PLAN et RESEAUX) et un fichier excel ayant le même nom que le dossier envoyé. (si le dossier se nomme toto je dois recevoir un fichier excel : toto.xlsx)

    Je ne comprend pas pourquoi mon code me répond que mon fichier est absent alors que le fichier est présent dans le dossier avec le bon nom.
    Nom : dossier.JPG
Affichages : 858
Taille : 23,8 Ko

    Je pense que l'erreur vient de et de la concaténation :
    FichierExcel = NomDossier+'.xlsx'
    print "Présence du fichier excel ", os.path.isdir (FichierExcel)

    J'espère que vous pourrez m'aider car le reste du programme semble en bonne voie.

    Merci beaucoup

    Bonne journée a tous

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    # -*- coding: utf_8 -*-
     
    import xlrd
    from xlrd import *
     
    import os
    import os.path
     
    import time
    import datetime
    from time import *
     
    import arcpy
    from arcpy import *
     
    import tkFileDialog
    import tkMessageBox
     
    import sys   #module permettant d arreter un programme en fonctin de la reponse
    import glob  #lister le contenu d'un répertoire
     
    #""""""""""""""""""RECUPERATION ENVIRONEMENT DE TRAVAIL"""""""""""""""""""""""""
     
    #Adresse de basse
    Adresse = r"G:/"     "# Adresse permettant d'aller plus vite dans le TkFileDialog"
     
    #Environement de travail (dossier de recolement)
    Dossier = tkFileDialog.askdirectory(initialdir=Adresse,title="Selectionnez le dossier a integrer")
    arcpy.env.workspace = os.path.dirname(Dossier)
    print "Emplacement : " , Dossier
     
    #Nom de l'affaire
    NomDossier = os.path.basename(Dossier)
    print "Nom du dossier :" , NomDossier
     
    #Nom du fichier excel rechercher
    FichierExcel = NomDossier+'.xlsx'
    print "Nom du fichier Excel recherche : " , FichierExcel
     
    StructureDossier = os.listdir(Dossier)
    print  "Liste des éléments du dossier : ", StructureDossier
    print "Présence du fichier excel ", os.path.isdir (FichierExcel)
     
    #Procédure de vérification de la structure du l'affaire choisi
    if os.path.isdir (FichierExcel) == True:
        print "Fiche identification du projet est presente"
        if os.path.exists (Dossier+'\RESEAUX'):
            print "Dossier RESEAUX present"
            if os.path.exists  (Dossier+'\FOND DE PLAN'):
                print "Dossier FOND DE PLAN present"
                tkMessageBox.showinfo("PROCEDURE", "Lancement de la procedure d integration a la GDB")
            else:
                print "Il manque le dossier FOND DE PLAN"
        else :
            print "Il manque le dossier RESEAUX"
    else:
        print "Fiche identification EXCEL est abscente"
        tkMessageBox.showerror("STRUCTURE DU DOSSIER","La structure du dossier est incorrect. \n \n Verifiez la presence des elements: \n\n     - FOND DE PLAN  \n     - RESEAUX \n     - la fiche excel")
        sys.exit()

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Citation Envoyé par Nherve Voir le message
    Je pense que l'erreur vient de et de la concaténation :
    FichierExcel = NomDossier+'.xlsx'
    print "Présence du fichier excel ", os.path.isdir (FichierExcel)
    Je pense plutôt que c'est isdir qui ne fait pas ce que tu veux. On lit dans la documentation :
    Citation Envoyé par https://docs.python.org/2/library/os.path.html
    os.path.isdir(path)
    Return True if path is an existing directory. This follows symbolic links, so both islink() and isdir() can be true for the same path.
    Toi, tu sembles avoir besoin de isfile :
    os.path.isfile(path)
    Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path

  3. #3
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut
    Merci Bktero de ta rapidité cela va me permettre de coller mon reste de programme a la suite.

    Voici le code si cela peut aider

    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
    33
    34
    35
    36
    37
    38
    39
     
    #Adresse de basse
    Adresse = r"G:/"     "# Adresse permettant d'aller plus vite dans le TkFileDialog"
     
    #Environement de travail (dossier de recolement)
    Dossier = tkFileDialog.askdirectory(initialdir=Adresse,title="Selectionnez le dossier a integrer")
    arcpy.env.workspace = os.path.dirname(Dossier)
    print "Emplacement : " , Dossier
     
    #Nom de l'affaire
    NomDossier = os.path.basename(Dossier)
    print "Nom du dossier :" , NomDossier
     
    #Nom du fichier excel rechercher
    FichierExcel = (NomDossier+'.xlsx')
    print "Nom du fichier Excel recherché : " , FichierExcel
     
    AdresseFichier = os.path.join(Dossier,FichierExcel)
    print "Adresse probable du fichier excel :" ,AdresseFichier
     
    Excel = os.path.isfile (AdresseFichier)
    print "Présence du fichier excel :", Excel
     
    #Procédure de vérification de la structure du l'affaire choisi
    if Excel == True:
        print "Fiche EXCEL présent"
        if os.path.exists (Dossier+'\RESEAUX'):
            print "Dossier RESEAUX présent"
            if os.path.exists  (Dossier+'\FOND DE PLAN'):
                print "Dossier FOND DE PLAN présent"
                tkMessageBox.showinfo("PROCEDURE", "Lancement de la procedure d'intégration a la GDB")
            else:
                print "Il manque le dossier FOND DE PLAN"
        else :
            print "Il manque le dossier RESEAUX"
    else:
        print "Fiche identification EXCEL est abscente"
        tkMessageBox.showerror("STRUCTURE DU DOSSIER","La structure du dossier est incorrect. \n \n Verifiez la presence des elements: \n\n     - FOND DE PLAN  \n     - RESEAUX \n     - Fiche Excel")
        sys.exit()

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

Discussions similaires

  1. Vérifier par VBA la présence d'un fichier ou d'un dossier dans sharepoint ?
    Par Golard dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 15/05/2014, 13h44
  2. Visualiser un fichier xls dans Excel (et non pas dans mon navigateur)
    Par n@n¤u dans le forum Général Conception Web
    Réponses: 10
    Dernier message: 10/07/2006, 08h43
  3. Copie de fichiers XLS dans une table
    Par sebvita dans le forum Oracle
    Réponses: 3
    Dernier message: 28/12/2005, 09h13
  4. lister fichiers xls dans combobox ?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/12/2005, 14h26
  5. Afficher le contenu d'un fichier xls dans un DBgrid
    Par bianconeri dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/09/2004, 16h35

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