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

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

    {C# / C#.NET} MODIFIER FICHIERS CSV POUR DESTINATOR
    Je viens d'acheter un PAD avec le logiciel GPS Destinator7. J'ai un BUG dû au nombre de radars fixes...

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