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 : 2363
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

    {C# / C#.NET} MASQUER, AFFICHER COLONNES DATAGRID
    ce datagrid permet de masquer ou d'afficher les colonnes désirer et de garder la largeur des colonne...

    {JAVA / J2EE} COLONNES D'UNE JTABLE: FAIRE DISPARAÎTRE ET INSÉRER À NOUVEAU
    Cette variante laisse les colonnes inchangées dans le TableModel et les fait disparaître en mettant ...

    {Visual Basic, VB6, VB.NET, VB 2005} FONCTION QUI PERMET DE LIRE UN CHAMP DANS UN CSV EN FONCTION DE SA LIGNE ET DE SA COLONNE.
    Ce bout de code est une fonction qui permet de lire un champ dans un CSV en fonction de sa ligne et ...

    {C / C++ / C++.NET} [C / WIN32] LIRE UN FICHIER LIGNE PAR LIGNE
    Fonctions permettant de lire un fichier ligne par ligne facilement et rapidement... Supporte les fi...

    {Visual Basic, VB6, VB.NET, VB 2005} LIRE UNE COLONNE DANS UN CSV (FUNCTION)
    Pouvoir lire une colonne en particulier dans un CSV. J'utilise beaucoup d'export CSV et rare sont ...

    {SQL} SQL SERVER 2005 - GESTION DE LA LARGEUR DES COLONNES D'UNE REQUETE LIEE A UN EMAIL (SP_SEND_DBMAIL)
    A partir de la version 2005, l'envoi d'un Email à partir de SQL Server a été grandement simplifié (c...

    {Javascript / DHTML} TRAITEMENT POUR ADAPTER LA LARGEUR DES COLONNES ( DANS UN TABLEAU ) [TALC]
    permet à un utilisateur de redimentionner, à la volée, la taille des colonnes d'un tableau. ...

    {C# / C#.NET} INTERCEPTION DU CLICK DROIT SUR LISTVIEW (DIFFÉRENCIER LE CLICK SUR L'ENTÊTE COLONNE, L'ITEM ET LES SUBITEMS)
    Ce code permet d'intercepter le click droit sur les différentes parties d'un listview (Réponse à ...

    {Visual Basic, VB6, VB.NET, VB 2005} CLASSE READ/WRITE BIT À BIT DANS UN FICHIER À N'IMPORTE QUELLE POSITION DU BIT
    Introduction de la source : Quand on programme en .NET il existe une classe IO.FileStream qui pe...

    {Javascript / DHTML} SQUELETTE DE PAGE EN DEUX COLONNES
    Mon code sert à créer une page web ayant deux menus (à gauche et à droite) ; ce qui est moins classi...