Les Snippets

Connexion

Lire une colonne d'un CSV (fonction)

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/10/2007 09:43:51 et initié par Adn56 [Liste]
Vue : 8326
Catégorie(s) : Base de données
Langages dispo pour ce code :
- VB 2005



Langage : VB 2005
Date ajout : 01/10/2007
Posté par Adn56 [Liste]

'utilisation : lire_colonne_CSV(monfichier, séparateur de champs, lire la premiére ligne ?, n° de colonne à lire)
exemple :
 Dim monfichier As String = Application.StartupPath & "\testsTOR.csv" 'chemin du fichier 

 Dim resultat1() As String = lire_colonne_CSV(monfichier, ";", False, 1) 
        If resultat1(0) = 2 Then MsgBox("numéro de colonne introuvable, vérifier !") 
        If resultat1(0) = 1 Then MsgBox("Fichier :" & monfichier & " introuvable vérifier!") 
        If resultat1(0) = 0 Then 'affichage des résultats car pas de défaut
            For a As Integer = 1 To resultat1.Length - 1 
                RichTextBox1.Text += resultat1(a) & vbCrLf 
            Next 
        End If 

Public
Public Function lire_colonne_CSV(ByVal fichier As String, ByVal séparateur As String, ByVal ligne_de_titre As Boolean, ByVal num_col As Integer) As String()
  • Dim colonnes_de_la_ligne As String() ' tableau de champs à lire pour une ligne
  • Dim index_ligne As Integer = 0 ' index de ligne en cours
  • Dim monfichier_existe As Boolean = My.Computer.FileSystem.FileExists(fichier) ' variable binaire qui test la présence du fichier
  • Dim valeurs_lus(0) As String 'status du traitement de la fonction
  • 'defaut = 0 => OK, defaut =1 => fichier pas trouvé, defaut =2 => colonne pas trouvé
  • If monfichier_existe Then
  • ' obligé pour l'instant de faire un tour à vide du fichier pour dimensionner le tableau en fonction du nb de ligne
  • Using lirecsv As New Microsoft.VisualBasic.FileIO.TextFieldParser(fichier)
  • lirecsv.SetDelimiters(séparateur)
  • While Not lirecsv.EndOfData 'tant que pas fin de fichier
  • colonnes_de_la_ligne = lirecsv.ReadFields()
  • index_ligne += 1 ' on compte le nombre de ligne
  • 'vérification de la demande de lecture
  • If num_col > colonnes_de_la_ligne.Length - 1 Then
  • valeurs_lus(0) = 2
  • GoTo fin
  • End If
  • End While
  • End Using
  • 'nombre de lignes luent moins la derniére et la premiére si ligne de titre
  • Dim a As Integer
  • If ligne_de_titre Then a = 1 Else a = 0 ' suppression de la ligne de titre ou pas
  • ReDim valeurs_lus(index_ligne - a) 'redimensionnement du tableau
  • valeurs_lus(0) = 0 'status fonction OK
  • 'raz de l'index ligne pour remplissage des valeurs
  • index_ligne = 1
  • Using lirecsv As New Microsoft.VisualBasic.FileIO.TextFieldParser(fichier)
  • lirecsv.SetDelimiters(séparateur)
  • While Not lirecsv.EndOfData 'tant que pas fin de fichier
  • colonnes_de_la_ligne = lirecsv.ReadFields() ' on lit tous les champs de la ligne en cours
  • 'élimine la premiére ligne si c'est la ligne des titres
  • If Not ligne_de_titre Then ' au premier cycle on ne fait rien
  • valeurs_lus(index_ligne) = (colonnes_de_la_ligne(num_col))
  • index_ligne += 1
  • End If
  • ' mise à vrai lorsque la premiére ligne est passé
  • ligne_de_titre = False
  • End While
  • ' transfert de la lecture
  • Return valeurs_lus
  • End Using
  • Else
  • valeurs_lus(0) = 1
  • End If
  • fin:
  • Return valeurs_lus
  • End Function

  • Snippets en rapport avec : Lire, Colonne, Fichier csv



    Codes sources en rapport avec : Lire, Colonne, Fichier csv

    {Javascript / DHTML} TABLE_SV : TABLEAU DYNAMIQUE, MONTRER/CACHER COLONNE SUR DEMANDE
    'table_sv' : qu'est-ce que c'est ? Un script JS-dynamique qui permet à l'utilisateur de sélection...

    {Flash} LECTURE DE TEXTE "VOICE"
    avec un minimum de code en peut lire le contenu du texte désolé j’ai oublier comment la faire...

    {C / C++ / C++.NET} SUIVI DE PRODUCTION ONDULEUR PHOTOVOLTAÏQUE SOLARMAX
    Ce logiciel C++ Builder 6 a pour but de dialoguer avec un onduleur photovoltaïque SolarMax pour: ...

    {Visual Basic, VB6, VB.NET, VB 2005} UTILISATION DE BAZSOCKET , DU COMPOSANT MYSQL , TOUT CECI DANS UN PANEL DE LOGIN
    Une source toute simple , elle fait partie du début de mon jeu de cartes en online , dans celle ci v...

    {Visual Basic, VB6, VB.NET, VB 2005} LECTURE DE FICHIER *.OFX
    Lit le fichier et renvoit toutes les infos dans une structure. Tester sur les fichiers OFX de Dex...

    {C# / C#.NET} LIRE DATETIME AVEC MILLISECONDES DANS SQL SERVER
    Comment récupérer une date dans une base sql sever express 2008 dans un champ 'DateTime' avec les m...

    {JAVA / J2EE} LIRE LES FICHIERS .WAV
    Cette classe permet de lire les fichiers .wav, de les mettre en pause, et de les reprendre en cours ...

    {Visual Basic, VB6, VB.NET, VB 2005} TRI DES ITEMS DE LISTVIEW (DATE, NUMÉRIQUE OU PERSO)
    Une petite source qui montre comment trier efficacement (et facilement) les colonnes de vos ListVi...

    {PHP} CONVERTIR LES RÉFÉRENCES DE COLONNE EXCEL DE CHIFFRE EN LETTRE
    J'ai eu besoin de créer des tableau à l'aide de classes spécifique qui ne travaillaient qu'avec les ...

    {Python} CONCATÉNER DES FICHIERS TEXTES
    Permet de concaténer des fichiers de même type dans un fichier de sortie qui aura la même extension ...