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 :

NameError: name 'excel' is not defined


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut NameError: name 'excel' is not defined
    Bonjour a tous,
    j'ai ecrit ce program pour ouvrir un fichier excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import win32com.client
    excel = win32com.client.Dispatch ('Excel.Application')
    classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    feuille = classeur.activesheet
    maxcol = fueille.usedrange.colums.count
    maxline = fueille.usedrange.rows.count
     
    print maxcol
    print maxline
     
    excel.workbooks.close()
    excel.quit()
    une fois que je le run, j'obtiens cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "C:/Users/jocelyne/Desktop/SBprograms/excelfileopen", line 1, in <module>
        import win32com.client
    ImportError: No module named win32com.client
    alors je decide de mettre certaines lignes en commentaires et j'obtiens ce programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #import win32com.client
    #excel = win32com.client.Dispatch ('Excel.Application')
    classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    feuille = classeur.activesheet
    maxcol = fueille.usedrange.colums.count
    maxline = fueille.usedrange.rows.count
     
    print maxcol
    print maxline
     
    excel.workbooks.close()
    excel.quit()
    et cette fois, j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "C:/Users/jocelyne/Desktop/SBprograms/excelfileopen", line 3, in <module>
        classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    NameError: name 'excel' is not defined
    qu'est ce qui se passe?

    Merci d'avance

    Billie

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut
    bonjour a tous,
    apres avoir bcp fouillé sur le net, j'ai trouvé qu'il me fallait installer 'pywin32-211.win32-py2.5'. ce que j'ai fait et cette fois voici l'erreur:

    Traceback (most recent call last):
    File "C:\Users\jocelyne\Desktop\SBprograms\excelfileopen", line 3, in <module>
    classeur = excel.Workbooks.Open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 467, in __getattr__
    if self._olerepr_.mapFuncs.has_key(attr): return self._make_method_(attr)
    File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 295, in _make_method_
    methodCodeList = self._olerepr_.MakeFuncMethod(self._olerepr_.mapFuncs[name], methodName,0)
    File "C:\Python25\Lib\site-packages\win32com\client\build.py", line 297, in MakeFuncMethod
    return self.MakeDispatchFuncMethod(entry, name, bMakeClass)
    File "C:\Python25\Lib\site-packages\win32com\client\build.py", line 318, in MakeDispatchFuncMethod
    s = linePrefix + 'def ' + name + '(self' + BuildCallList(fdesc, names, defNamedOptArg, defNamedNotOptArg, defUnnamedArg, defOutArg) + '):'
    File "C:\Python25\Lib\site-packages\win32com\client\build.py", line 604, in BuildCallList
    argName = MakePublicAttributeName(argName)
    File "C:\Python25\Lib\site-packages\win32com\client\build.py", line 542, in MakePublicAttributeName
    return filter( lambda char: char in valid_identifier_chars, className)
    File "C:\Python25\Lib\site-packages\win32com\client\build.py", line 542, in <lambda>
    return filter( lambda char: char in valid_identifier_chars, className)
    UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 52: ordinal not in range(128)

    qu'est ce qui ne va pas?
    merci

  3. #3
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Il ne faut pas que dans tes cases, il y ait des caractères spéciaux (accent et compagnie), sinon, il ne faut pas les gérer en tant que string mais caractères unicode

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par billyrose Voir le message
    Bonjour a tous,
    j'ai ecrit ce program pour ouvrir un fichier excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import win32com.client
    excel = win32com.client.Dispatch ('Excel.Application')
    classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    feuille = classeur.activesheet
    maxcol = fueille.usedrange.colums.count
    maxline = fueille.usedrange.rows.count
     
    print maxcol
    print maxline
     
    excel.workbooks.close()
    excel.quit()
    une fois que je le run, j'obtiens cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "C:/Users/jocelyne/Desktop/SBprograms/excelfileopen", line 1, in <module>
        import win32com.client
    ImportError: No module named win32com.client
    alors je decide de mettre certaines lignes en commentaires et j'obtiens ce programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #import win32com.client
    #excel = win32com.client.Dispatch ('Excel.Application')
    classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    feuille = classeur.activesheet
    maxcol = fueille.usedrange.colums.count
    maxline = fueille.usedrange.rows.count
     
    print maxcol
    print maxline
     
    excel.workbooks.close()
    excel.quit()
    et cette fois, j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "C:/Users/jocelyne/Desktop/SBprograms/excelfileopen", line 3, in <module>
        classeur = excel.workbooks.open("C:\Users\jocelyne\Desktop\Data\set1.xls")
    NameError: name 'excel' is not defined
    qu'est ce qui se passe?

    Merci d'avance

    Billie
    Pour ta dernière erreur, c'est normal, tu utilises excel qui n'a jamais été défini.

    Comme le dit Guigui_, tu dois faire attention au type de tes chaînes de caractères.

Discussions similaires

  1. NameError: name 'self' is not defined
    Par amiraO dans le forum Général Python
    Réponses: 4
    Dernier message: 17/04/2011, 10h38
  2. NameError: global name 'thread' is not defined
    Par Balbuzard dans le forum Général Python
    Réponses: 6
    Dernier message: 15/07/2009, 06h52
  3. Réponses: 4
    Dernier message: 19/06/2009, 15h23
  4. NameError: name 'nbBug' is not defined
    Par titi_lion dans le forum Général Python
    Réponses: 1
    Dernier message: 15/05/2009, 12h32
  5. NameError: global name 'entr2' is not defined
    Par noquioz dans le forum Tkinter
    Réponses: 18
    Dernier message: 24/11/2008, 11h20

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