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 : 3617
Catégorie(s) : Base de données
Langages dispo pour ce code :
- VB 2005
- Voir tous les langages pour ce code snippet



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

    {ASP / ASP.NET} COMMENT FORMATER LE NOMBRE DE CARACTÈRES D'UN COLONNE DANS UN CONTROL GRIDVIEW
    Il est assez déroutant de voir certaines valeur dans des colonnes de gridview aussi longues qu'un jo...

    {Visual Basic, VB6, VB.NET, VB 2005} ENREGISTRER LIRE ET MODIFIER/ÉCRIRE DANS UN FICHIER TEXTE AU FORMAT UNICODE
    Ayant ramé pour trouver comment faire je vous offre cette petite source pour vous éviter de fastidie...

    {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 à ...