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

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