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 :

Gérer un fichier XML avec Python


Sujet :

Python

Vue hybride

ffets Gérer un fichier XML avec... 14/10/2007, 19h51
pacificator Bonjour et bienvenue sur ce... 14/10/2007, 21h34
KINENVEU je crois que beautiful soup... 14/10/2007, 23h39
ffets Bonjour à tous, Tout... 15/10/2007, 08h46
pacificator Vu sur le site de effbot:... 15/10/2007, 10h57
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut Gérer un fichier XML avec Python
    Bonjour à tous,

    Je suis un petit nouveau sur ce forum et surtout un débutant en python!

    Bref ce qui m'amène ici c'est une demande d'un petit coup de main pour gérer des fichiers xml avec python.

    En fait je vous explique. En entrée de mon programme pytohn j'ai un fichier XML et un fichier XLS (excel). Dans le fichier XML il y a des infos sur des variables seuil (leur nom, leur valeur initiale, la version de soft dont elles sont issues...). Dans le fichier excel j'ai plusieurs colonnes parmi lesquelles je dois scrutter pour chaque seuil: le nom, la date à laquelle la valeur a été fixé, un champs de commentaire et une justification.

    Le but est donc d'aller lire dans mon fichier excel les champs qui m'intéressent et mettre en forme mes variables comme ça m'arrange (ça j'ai trouvé comment faire).
    Ensuite pour chaque variable seuil il me faut rajouter dans le xml les infos issues d'excel.

    En faisant une manip à la main je connais les lignes que j'ai a rajouter dans mon fichier XML. Mais pour les 3000 variables à faire un programme sera bien plus à même de le faire!!

    Au départ je pensais ouvrir en fichier texte le XML et aller y trouver les emplacement qui vont bien pour rajouter des blocs de xml généré "en dur" dans mon programme mais ça ne me paraît pas très clean comme méthode et l'algo de recherche est assez conséquent car il faut insérer le texte au bon endroit sans rien toucher.

    Mes recherches m'ont conduit vers une API dom ou sax (?), si je en me trompe, qui apparemment possèdent des fonctions pour gérer la hiérarchie d'un fichier XML. J'ai cru y comprendre qu'il me faut alors trouver l'endroit d'insertion et y créer un "fils" via un addchild?

    Est ce que quelqu'un aurait déjà fait ce genre de programme et aurait des exemple de script à me montrer car les seules infos que j'ai trouvé sur le net c'est créer un xml à partir de zéro ce qui est simple mais n'est pas mon cas !

    Merci pour votre aide.

    ffets

  2. #2
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Bonjour et bienvenue sur ce forum

    Pour le xml, python inclus à partir de la version 2.5, la librairie ElementTree, très performante dans sa version en C, cElementTree (cf le benchmark).


    Bonne lecture et à bientôt.

  3. #3
    Membre confirmé Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    je crois que beautiful soup gere le xml aussi.
    ca vaut le coup d'aller jeter un coup d'oeil.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Bonjour à tous,

    Tout d'abord merci pour les pistes.
    Cependant je ne comprends pas vraiment ce que je lis. En effet à chaque fois on parle de plug-ins à installer ou de choses comme ça mais je cherche juste comment utiliser une bibliothèque python moi. Alors peut être que je ne suis pas doué je ne sais pas mais ça me paraît bien obscure. Le peu de développement que j'ai déjà fait en python consistait à trouver les bons modules pour avoir les bonnes fonctions.

    Je me suis décidé à installer le "package" elementtree mais toutes les fonctions ne sont pas dedans (par exemple la fonction parse est introuvable).
    Et le problème c'est que je fonctionne avec python 2.5 sur mon poste et cElementTree ne fonctionne qu'avec 2.4.

    J'ai aussi trifouillé Beautiful Soup et cherché sur le net pour son usage mais je crois comprendre que c'est surtout réservé à la lecture de l'HTML.

    Et comme dans ce que j'ai lu ça paraît bien plus dur d'ajouter des caractéristiques à un xml que d'en créer un. Pourtant je croyais que ce format était maintenable par la suite.

    Merci d'éclairer ma lanterne.

    ffets

  5. #5
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Vu sur le site de effbot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import elementtree.ElementTree as ET
    >>> import cElementTree as ET
    >>> import lxml.etree as ET
    >>> import xml.etree.ElementTree as ET # Python 2.5

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Citation Envoyé par pacificator Voir le message
    Vu sur le site de effbot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import elementtree.ElementTree as ET
    >>> import cElementTree as ET
    >>> import lxml.etree as ET
    >>> import xml.etree.ElementTree as ET # Python 2.5
    Je suis d'accord avec ces phrases. Mais il est aussi écrit ceci :
    "To install from source, simply unpack the distribution archive, change to the distribution directory, and run the setup.py script as follows:"
    Le problème est que quand je vais dans la section download il n'y a aucun zip ou exe dispo pour python 2.5.

    Pacificator je te sens énervé dans ta réponse. Il ne s'agit pas de mauvaise volonté de ma part ou de flemme. J'essaie simplement de comprendre l'installation et l'utilisation de cette bibliothèque. C'est pas évident. Je suis électronicien de formation plutôt qu'infomaticien. Par exemple je en comprends pas à quoi servent les variables avec des "__" devant et derrières ni comment fonctionnent les classes il me faut donc les éviter dans la mesure du possible.

    -->
    Je corrige mon post. J'ai trouvé comment installer le module "elementtree".
    J'arrive à faire import elementtree donc je pense qu'il est bien pris en compte.

    Il me faut maintenant plancher sur son usage.


    Voilà

    merci pour l'aide. Je continue mes investigations.

    ffets

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

Discussions similaires

  1. Traitement basique sur fichier xml avec python
    Par raphael75015 dans le forum Général Python
    Réponses: 11
    Dernier message: 22/05/2014, 15h44
  2. Lecture dun fichier xml avec python
    Par merlinerick dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 29/07/2009, 13h49
  3. pickler un fichier XML avec python
    Par Gldev_comp dans le forum Général Python
    Réponses: 1
    Dernier message: 10/07/2008, 05h31
  4. Lire un fichier XML avec Python
    Par eyquem dans le forum Général Python
    Réponses: 2
    Dernier message: 19/12/2007, 13h54
  5. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34

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