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

Delphi Discussion :

Fichier CSV en XML


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 572
    Par défaut Fichier CSV en XML
    Bonjour,

    je reprends la discussion entamée sur "structurer un fichier texte"..
    après avoir cherché, j'ai opté pour la solution proposée par SergioMaster.

    j'ai désormais transformé mon fichier .csv (provenant d'un pdf parsé..) en une structure XML dont je vous joins un extrait significatif
    puisque tous les cas de figure y sont représentés :

    Nom : Capture.PNG
Affichages : 417
Taille : 47,7 Ko

    Maintenant, il faudrait pouvoir la lire, sachant que x "titre intitulé" contenant y "Section nom" renfermant z Ligne

    il est nécessaire de lire tout le fichier :
    lire les lignes contenant le mot accord et récupérer uniquement la date la plus récente figurant en bout de ligne.
    idem avec le mot SUPER

    Donc, en résumé pour chaque "titre intitulé", il faut récupérer :

    - le titre intitulé
    - la section nom
    - si présence accord->> le mot accord et sa date la plus récente
    - si présence SUPER seule ->> le mot SUPER et sa date la plus récente

    il y a toutefois deux exceptions :
    - des "titre intitulé" VIDE (sans aucune section)
    - des "Section nom" qui ne contiennent ni le mot accord ni le mot super

    ces deux cas là devront être récupérés en :
    - le titre intitulé
    et
    - le mot NEANT

    ça devrait être plus clair..
    et le nec serait de mettre les résultats sous forme d'un .csv permettant de passer en mode tableau

    merci pour le coup de main car je débute en XML (c'est malin, je vais même finir par y prendre goût à cause sergiomaster...)

    cordialement

  2. #2
    Membre éclairé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 572
    Par défaut précision
    un petit oubli..

    des "Section nom" qui ne contiennent ni le mot accord ni le mot SUPER
    devront être récupérées avec la mention VIDE
    et ce n'est que si l'intitulé n'a pas de section ou
    que l'ensemble des sections qui y sont contenues sont classées VIDE que la mention NEANT devra apparaître

    un peu tordu quand même..
    mais c'est exactement ce dont j'ai besoin
    @+

  3. #3
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    il y a quelque chose qui m'échappe....

    pourquoi passer de CSV à XML si c'est pour ensuite chercher à traiter le XML ?!

    pourquoi ne pas simplement charger le fichier CSV dans une arborescence en mémoire et la traiter directement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var
      TSection = record
        Texte: string;
        Lignes: array of string; // ou TStringList
      end,
     
      TTitre = record
        Texte: string;
        Sections: array of TSection;
      end;
      TStructure = array of TTitre;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre éclairé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 572
    Par défaut arborescence
    Bonsoir Paul Toth,

    je l'ai fait avec un TBLOC: array of TStringList;
    mais à terme, ça devient très compliqué..
    mais peut-être que je m'y suis mal pris ?

    Attention quand je dis csv, en fait il n'y a que les dates qui sont derrière des point-virgule !
    le fichier de départ a plutôt cette tête là :

    intitulé
    section
    ligne;date
    intitulé
    section
    ligne; date
    etc.

    et j'ai besoin aussi d'avoir un visuel de l'arborescence car cela me permettra d'identifier rapidement les éventuelles modifications du fichier
    qui pourraient apparaître avec le temps, car dans cet exercice, je ne maîtrise pas du tout la source.

    j'ai pensé qu'une bonne structure XML m'aiderait dans ma quête...

    mais, avec tous les éléments que j'ai fournis, pourrais-tu préciser un peu mieux ton idée et me donner un début de traitement ?

    ici, il fait une canicule épouvantable.

    merci par avance

    cordialement

  5. #5
    Membre chevronné
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Billets dans le blog
    4
    Par défaut Un truc m'echappe
    Bonjour

    Pourquoi faire un noeud
    <ligne>Accord madate; blabla</ligne>
    et ne pas faire
    <Accord>madate; blabla</Accord>
    Cordialement

    Pour lire un fichier xml j'utilise XML Notepad.

  6. #6
    Membre éclairé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 572
    Par défaut noeud
    Bonjour à tous,

    Oui, j'ai vu ce truc, c'est juste à cause du traitement du parser en amont.
    et je n'ai pas envie de m'embêter à retirer les dates en trop car elles ne me gênent pas.. (@alheuredudejeuner)

    une première idée me vient pour la suite est de faire une première passe
    en mettant un attribut au bloc section nom : qui prendrait donc trois valeurs possibles:

    - COMPLET ->>>> si il y au moins le (mot accord seul) ou (accord et SUPER)
    - SUPER ->>>> si SUPER est tout seul
    - VIDE ->>>> si accord et super sont absents

    sans chercher les dates les plus récentes qui feront l'objet d'un second traitement.

    Donc, je reformule autrement :

    Comment faire pour lire, toutes les sections et leur affecter un attribut en fonction de la présence des mots désignés précédemment dans les lignes constituant le bloc ?
    et
    y-a t-il des méthodes XML qui permettent de chercher une chaine dans les lignes des sections ?

    merci pour votre aide

    cordialement

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2012, 16h00
  2. parser fichier xml vers fichier csv
    Par kemeticShamman dans le forum Général Python
    Réponses: 1
    Dernier message: 10/01/2012, 17h45
  3. Export fichier format autre que CSV et XML
    Par dbaenbois dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 21/07/2009, 21h45
  4. [XML] Passer un fichier CSV en un fichier XML
    Par stardeus dans le forum APIs
    Réponses: 3
    Dernier message: 14/03/2007, 17h01
  5. [XML] convertir fichier CSV en XML
    Par Yudala dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/02/2007, 10h05

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