OVH Cloud OVH Cloud

lire un fichier CSV

5 réponses
Avatar
pac
Quelqu'un aurait-il les quelques lignes de code me permettant de lire un
fichier CSV délimité par des ; dans Visual Basic?

Merci
--
pac

5 réponses

Avatar
Richard Clark
Rapidement:

Dim fs as New FileStream("c:toto.csv", FileMode.Read)
Dim sr as New StreamReader(fs)
Dim sLine as String = sr.ReadLine()
While (String.IsNotNullOrEmpty(sLine))
Dim sRow as String() = sLine.Split(';')
'dans sRow, tu as un tableau de ta ligne
sLine = sr.ReadLine()
End While
sr.Close()
fs.Close()

Fait de mémoire donc a tester

--
Richard Clark
http://www.c2i.fr Le 1er site .NET
http://www.project-hoshimi.com
"pac" a écrit dans le message de
news:
Quelqu'un aurait-il les quelques lignes de code me permettant de lire un
fichier CSV délimité par des ; dans Visual Basic?

Merci
--
pac


Avatar
Fred
Dans : news:,
Richard Clark disait :
Rapidement:

Dim fs as New FileStream("c:toto.csv", FileMode.Read)
Dim sr as New StreamReader(fs)
Dim sLine as String = sr.ReadLine()
While (String.IsNotNullOrEmpty(sLine))
Dim sRow as String() = sLine.Split(';')
'dans sRow, tu as un tableau de ta ligne
sLine = sr.ReadLine()
End While
sr.Close()
fs.Close()

Fait de mémoire donc a tester



Bonjour,

Attention, il faut que le fichier csv soit simple.
Le format csv autorise la présence de champs de type chaîne contenant
des points virgules.
Auquel cas, ces champs sont délimités par des guillemets (qu'il faut
éliminer). Il s'ensuit que si des guillemets sont présents, ils sont
alors doublés !

Bref, s'asssurer que le csv ne contienne aucun champ caractère contenant
des points virgules avant d'appliquer cette méthode.
Sinon, l'algorithme est un peu plus compliqué et si on a la flemme, on
peut se rabattre sur le driver ODBC texte.

--
Fred
Avatar
pac
Merci de m'avoir mis sur la bonne piste. J'ai trouvé à partir de vos lignes
de code les bonnes méthodes pouvant s'appliquer à ma situation et l'aide en
ligne de VB a fait le reste. Je peux lire correctement les données
maintenant. Pas facile pour un vieux codeur occasionnel de fortran de passer
illico dans l'univers "objet", on garde des réflexes de codage procédural!!!
--
pac


"Richard Clark" wrote:
Avatar
pac
Merci pour l'avertissement. Mais mon fichier csv comporte uniquement des
valeurs numériques de format integer ou single.

C'est la première fois que je fais appel à la communauté du .Net et je dois
dire que j'en suis fasciné. Je reviendrai... Des fois, on se sent seul comme
"bas bruns" (c.-à-d. Nerd comme le diraient mes voisins du Sud ou de l'Ouest)
--
pac


"Fred" wrote:
Avatar
Patrick BREIL
Pour lire un fichier CSV rapidement, il faut utiliser la ligne suivante

Imports system.files
Imports system.text

Dim LigneFichier() as string file.ReadAllLines(Nomdufichier,Encoding.Default) ' on obtient un tableau de
chaque ligne LigneFichier(0 à ...)

Pour retrouver les différents éléments il suffit de taper


For each ligne as string in LigneFichier
dim valeur() as string = Split(ligne,";")
' on obtient alors le tableau valeur(0 à ....)
next

Info : LigneFichier.length indique le nombre de ligne, de même pour valeur

Salutations,

"pac" a écrit dans le message de
news:
Quelqu'un aurait-il les quelques lignes de code me permettant de lire un
fichier CSV délimité par des ; dans Visual Basic?

Merci
--
pac