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 :

Python module excel


Sujet :

Python

  1. #1
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut Python module excel
    Bonjour,

    Je souhaite utiliser le module xlsx pour créer et manipuler des fichiers Excel 2007/2010.

    Malgrès quelques docs., je ne parviens pas à savoir comment installer un module qui n'est pas présent actuellement et ou le trouver.

    Quelqu'un peut-il me renseigner ?

    Merci d'avance
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Salut,

    A ma connaissance, il n'y a pas encore de module général en version
    qualifiée de stable pour lire et écrire des fichier xlsx.

    Pour ma part, je génère surtout des fichiers ods avec lpod ou alors des fichiers
    "binaires" xls avec xlwt.

    Cependant, xlrd en version 0.8 peut lire des fichiers xlsx et est assez strable
    je vais également tester openpyxl qui permet de lire écrire.

    D'autres modules existent. Attention que certains sont encore en bêta.

    Tu trouvera ces module sur le "package index"

    En espérant t'avoir été utile

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut Oups
    Ma réponse était incomplète
    Pour installer ces modules.
    Télécharger - Décompresser sous forme de répertoire.

    En ligne de commande, depuis le répertoire décompressé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    python setup.py install

  4. #4
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Merci pour ta réponse,

    je vais tester aussi openpyxl.

    J'ai téléchargé le .tar.gz mais pourrais-tu m'indiquer comment m'y prendre pour l'installer ?
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Ce n'est pas très difficile.

    D'abord, il te faut un outil pour décompresser le tar.gz.
    Sous windows, il y a l'excellent 7zip. Attention tu devra certainement
    faire deux manips pour obtenir un répertoire décompressé.

    Tu dois avoir un fichier setup.py dans ce répertoire.
    Après, il suffit de lancer l'interpréteur de commande dans ce répertoire
    et de taper la commande de mon premier post.

    Si elle tourne avec succès, tu devrais avoir le répertoire suivant
    openpyxl-1.5.8-py2.7.egg sous :\Python27\Lib\site-packages\

    La doc sur le site est vraiment très basique. Mais il y a un répertoire test
    qui montre comment faire différentes choses. Je suis en train de les découvrir

  6. #6
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Traceback (most recent call last):
    File "setup.py", line 24, in <module>
    import openpyxl#to fetch __version__ etc
    File "C:\Users\moi\Downloads\openpyxl-1.5.8.tar\dist\openpyxl-1.5.8\openpyxl
    -1.5.8\openpyxl\__init__.py", line 29, in <module>
    from openpyxl import cell
    File "C:\Users\moi\Downloads\openpyxl-1.5.8.tar\dist\openpyxl-1.5.8\openpyxl
    -1.5.8\openpyxl\cell.py", line 194
    return u"<Cell %s.%s>" % (self.parent.title, self.get_coordinate())
    ^
    SyntaxError: invalid syntax
    j'ai ça...
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  7. #7
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    j'ai ouvert ma cmd.exe j'ai navigué jusqu'au dossier contenant le setup et suivi ta commande...mais j'ai le message que j'ai posté précédemment.
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  8. #8
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Je crois que vous n'avez pas la même version python

    Apparemment il faudrait la version 2.x pour utiliser ce module

    A tout hasard essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python3 setup.py install
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Aie.

    Ce n'est pas précisé dans la doc, mais openpuxl n'est pas compatible avec
    python 3x (Je viens juste de le découvrir)

    J'ai commencé à utiliser python avec la version 2.5. Actuellement, j'utilise professionnellement la 2.7. Cela étant je prône python 3.2 parce que le code est plus clair et plus épuré. Maintenant, il faut bien reconnaître que de nombreux paquets n'ont pas encore été porté pour la série 3x

    En ce qui concerne ce module, je ne sais si un portage automatique ferait l'affaire. Donc, si tu veux utiliser ce module, je te conseille d'installer un "bon vieux" python 2.7.

  10. #10
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Merci beaucoup pour vos réponses

    Malheureusement ça ne va toujours pas...

    Tant pis pour moi...

    Connaissez vous la façon de se tenir au courant de la venue d'un nouveau module pour une version ?
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Comment cela ne va toujours pas ?

    As tu essayé d'installer un python 2.7.x ?

    Si oui, je te suggère de spécifier la version utilisée lorsque tu installe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    c:\python27\python setup.py openpyxl
    Maintenant, si l'ensemble de ton projet est en python 3.2, je ne saurais te dire quel module utiliser

  12. #12
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Désolé chticricri,

    J'essayais l'exemple de fred1599

    Je ne souhaite pas changer de version

    J'attendrais donc encore un peu pour faire de l'Excel.

    Merci pour vos réponses
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    il semble qu'avec win32com.client, on puisse gérer ce type de format (à vérifier). --> recherche google (win32com, xlsx).

    Sinon, la solution serait de passer par des fichiers au format csv, qui sont plus pratique (et beaucoup plus rapide) à lire et à manipuler. Mais tout dépend de ce que tu veux en faire ensuite.

    Les bibliothèques suivantes permettent peut être de faire le travail : xlrd3, win32com, xlrd (en python2.x).

    Bon courage à toi. Je te conseille tout de même de travailler avec des CSV surtout si les données de ton xlsx sont importantes...

    PS : Si cela t'intéresse, j'ai eu à passer du temps sur la façon de manipuler les fichiers xls. Donc regarde dans mes messages. Si tu trouve une passerelle XLSX to CSV c'est gagné

  14. #14
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    En cherchant un peu, j'ai vu:

    Openpyxl supports python (even if some tests can fail on 2.4) from 2.4 to 2.6. If you use a more recent version of python, please use the hjunes fork you can find here : https://bitbucket.org/hjunes/openpyxl/.
    Il y a effectivement un fork de openpyxl qui supporte Python 3 => https://bitbucket.org/hjunes/openpyxl/downloads.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  15. #15
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Merci pour vos réponses !!
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  16. #16
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Bonjour,


    Je viens de télécharger le ZIP de "Fix xrange -> range for Python 3" à cette adresse : https://bitbucket.org/hjunes/openpyxl/downloads

    Comme conseillé par tyrtamos

    et pour info....çA MARCHE


    Cool merci pour vos réponses...
    Windows 7, 64 bit
    Perl 5.12, ActivePerl
    Python 3.2, ActivePython ( NOVICE ! )

  17. #17
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Pour ma part je suis en train d'utiliser gnumeric qui me semble pas mal pour faire de l'excel sous linux

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

Discussions similaires

  1. Python et excel
    Par Jiyuu dans le forum Bibliothèques tierces
    Réponses: 9
    Dernier message: 05/11/2008, 13h35
  2. AttributeError: class 'org.python.modules.os'
    Par capello123 dans le forum Général Python
    Réponses: 1
    Dernier message: 10/12/2007, 17h06
  3. CGI/Python, module gnomevfs, et problème de permissions
    Par Maxhysteria dans le forum Apache
    Réponses: 1
    Dernier message: 25/11/2007, 19h18
  4. python module video
    Par deb_Sous_Python dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 18/06/2007, 09h56
  5. python et excel [win32com] : caractériel ? SOS
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 5
    Dernier message: 19/10/2005, 17h24

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