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

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

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