Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.NET] lire et chercher des données d'un fichier CSV

Sujet résolu
    5 juin 2011 à 17:16:03

    Bonjour,

    j'ai un fichier CSV dont les données sont organisées comme ceci :

    1;4801
    2;4805
    3;4803
    4;4808
    ...
    128;4882

    comme vous pouvez le voir, chaque ligne contient 2 champs, un numéro et une "adresse" séparés par un point virgule, je désire créer une fonction qui aura comme argument un integer qui est l'adresse, celui ci étant le second champ, par exemple, 4801, puis me renverra le 1er champ dans la ligne où il se trouve, c'est à dire le numéro correspondant, par exemple "1"

    Merci de me donner le code de cette fonction, pour ma part j'ai essayé et j'ai échoué, j'ai essayé avec la classe File, car il y a la méthode ReadLine que je peux utiliser conjointement avec la méthode split() (similaire à la fonction "explode" du php) mais le problème c'est que l'utilisation de la classe File engendre des erreurs inexpliquées (des exceptions) bref, merci de m'aider.
    PS : je travaille dans un projet "Windows Forms".
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      5 juin 2011 à 17:34:48

      Crée une méthode qui lit tous ça avec un StreamReader, utilise Split pour séparer les deux nombres, et stocke tout ça dans un Dictionary(Of Integer, Integer).

      Une fois que tu as obtenu ton Dictionary, plus besoin de t'occuper du fichier, tu peux ensuite t'occuper de ta méthode qui trouve ce que tu veux dedans.
      • Partager sur Facebook
      • Partager sur Twitter
        5 juin 2011 à 20:03:00

        ?? il faut utiliser un split sur une ligne du fichier texte (ou csv) et non sur l'intégralité.
        • Partager sur Facebook
        • Partager sur Twitter
          5 juin 2011 à 20:07:00

          C'est bien ça qu'il voulait dire: tu lis le fichier ligne par ligne en splitant chaque ligne et en enregistrant les valeurs correspondantes dans un dictionnaire ou une liste. Ensuite, plus besoin de manipuler le fichier: tu pourras travailler directement avec les valeurs ;)
          • Partager sur Facebook
          • Partager sur Twitter
            5 juin 2011 à 21:40:59

            eh ben justement, comment lire le fichier ligne par ligne afin de récupérer les valeurs des champs de chaque ligne via split puis les stocker dans un dico !!! la classe File ne contient pas une telle méthode !!! néanmoins, il y a une méthode ReadLines() mais elle renvoie toutes les lignes d'un coup !
            http://msdn.microsoft.com/fr-fr/librar [...] .io.file.aspx

            -------

            MàJ:
            bon je me suis trompé, la méthode Readlines() lit le fichier ligne par ligne...

            un petit exemple :

            Private Sub test()
                    Dim tmp_ligne() As String
                    For Each ligne As String In File.ReadLines(PATHFICHIER)
                        tmp_ligne = Split(ligne, ";")
                        tables.Add(tmp_ligne(0), tmp_ligne(1))
                    Next ligne
            End Sub
            
            • Partager sur Facebook
            • Partager sur Twitter
              6 juin 2011 à 0:02:52

              Utilise la classe StreamReader
              • Partager sur Facebook
              • Partager sur Twitter
                6 juin 2011 à 2:20:07

                File.ReadAllLines fait bien l'affaire ici, pas besoin de chercher plus compliqué :)
                • Partager sur Facebook
                • Partager sur Twitter

                [VB.NET] lire et chercher des données d'un fichier CSV

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown