none
extraire des lignes d'un fichier .csv RRS feed

  • Question

  •  

    Bonjour,

    J'ai vraiment besoin de votre aide là!
    J'ai un fichier .csv contenant environ 1000 lignes, mais seulement une trentaine sont intéressantes pour moi. il est structuré de cette manière :

    environ 1000lignes qui me servent à rien
    [espace][espace]<name>name1</name>
    quelques lignes
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    quelques lignes
    [espace][espace]<name>name2</name>
    quelques lignes
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    quelques lignes
    [espace][espace]<name>name3</name>
    quelques lignes
    [espace][espace]<coordinate>longitude3,lattitude3</coordinate>
    etc...

    J'aurai besoin d'en extraires les lignes avec les noms et coordonnées pour avoir au final quelque chose comme cela:
    [espace][espace]<name>name1</name>
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    [espace][espace]<name>name2</name>
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    [espace][espace]<name>name3</name>
    [espace][espace]<coordinate>longitude3,lattitude3</coordinate>

    Quelqu'un aurait-il une piste svp ?? Le truc c'est d'extraire les lignes contenant <name> et <coordinate>. J'avais commencé sur papier (je n'avais le matériel nécessaire à mon stage jusqu'alors) et utilisé les TStringList qui s'avéraient ici très efficaces, mais apparament Visual C++ n'a pas ces commandes en librairies... HEEEEELLLPP

    Merci infiniment !
    mardi 15 juillet 2008 14:10

Toutes les réponses

  • Bonjour,

     

    Ce n'est pas une fichier .csv dont vous disposez mais un document XML.

     

    Le meilleur moyen de lire un tel document est d'utiliser un parser XML.

    Et le mieux est d'utiliser simplement une requête XPath pour sélectionner ce que vous souhaitez faire.

     

    Malheureusement, je ne pourrais pas vous en dire plus, car je ne suis pas expert en XML avec du C++ natif. (Je ne sais pas quelles fonctions/méthodes appeler).

     

    Est-il possible que vous puissiez utiliser le .NET Framework ? Car ce dernier dispose d'une panoplie de classe permettant la manipulation de document XML.

     

    Cordialement

     

    mercredi 16 juillet 2008 05:39
    Modérateur
  • Bonjour,

     

    Tout d'abord merci pour votre réponse rapide.

    Le problème est que je ne connais absolument pas le langage XML ou comment utiliser un parserXML. Mais je peux essayer d'apprendre mais le problème est qu'il me reste à peine deux semaines pour finir mon projet.

    Pouvez-vous alors me renseigner sur le .NET Framework, qu'est-ce que c'est exactement?

     

    Merci beaucoup!

    Christian

    mercredi 16 juillet 2008 06:57
  • Bonjour,

     

    Pouvez-vous alors me renseigner sur le .NET Framework, qu'est-ce que c'est exactement?

    http://msdn.microsoft.com/fr-fr/vstudio/cc707235.aspx

     

    Le gros problème c'est qu'utiliser .NET C++ est très dangeureux si l'on mélange du code .NET et du code natif... C'est pas en 2 semaines de temps que vous arriverez à utiliser celui-ci...

     

    Cordialement

     

    dimanche 20 juillet 2008 19:08
    Modérateur
  • bonjour,

     

    si ton fichier est du texte lisible par notepad  tu peux peut etre essayer ceci

     

    mets une extension .TXT au fichier

     

    ouvre ce fichier à l'interieur d'EXCEL (fichier/ouvrir/tonfichier.txt)

     

    excel va coller chaque ligne dans dans une ligne différente et le contenu dans la premiere colonne

     

    ajoute une colonne en premiere position

     

    remplis la avec une suite numerique 1,2,.............,1000

     

    Selectionnes ta feuille

     

    Fais un tri sur la deuxieme colonne

     

    fais un fitre sur cette colonne

     

    ferme l'arborescence pour avoir un exemplaire de chaque contenu de cellule

     

    vires toutes les lignes inutiles

     

    supprimes le filtre

     

    tu dois récupérer toutes tes lignes utiles

     

    selectiones ta feuille

     

    fais un tri sur la premiere colonne

     

    tu devrais recupérer ton texte dans le bon ordre

     

    fais le reste de modifs si besoin

     

    vires la premiere colonne

     

    enregistres ton fichier sous une extension .TXT

    jeudi 2 octobre 2008 15:55