IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Lire fichier CSV qui contient une info


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2021
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2021
    Messages : 117
    Par défaut Lire fichier CSV qui contient une info
    Bonjour,

    J'ai un dossier dans lequel j'ai des fichiers .csv au format ( test test1 07032022 100037.csv 08032022 085230.csv )
    Je voudrais lire tout les fichiers qui contienne l'info rouge = textbox1 est les ajouter a une listview1.


    Dans mon code ci dessous je liste tout les fichiers et non ceux qui contienne l'info (fichier.Split("\")(5))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each fichier As String In IO.Directory.GetFiles("c:\test, "*.csv")
                Dim info As New IO.DirectoryInfo("c:\test")
     
                listview1.Items.Add(New ListViewItem({fichier, File.GetCreationTime(fichier)}))
     
            Next

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Tu n'as pas le choix.
    Pour déterminer si un fichier contient l'information recherchée, il faut le lire.

    Tu devras donc lire chaque fichier.
    Pour chaque fichier lire les lignes.
    Pour chaque ligne faire un split et comparer la valeur de la 4ème valeur.
    Et si cette valeur contient l'info que tu cherches alors ajouter au listview

  3. #3
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2021
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2021
    Messages : 117
    Par défaut
    Merci j'ai réussie
    Est il possible de regrouper les lignes identiques en modifiant la quantité ?

    Merci

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Regrouper les lignes identiques c'est exactement ce que je t'ai montré dans cette discussion avec les fruits.

    https://www.developpez.net/forums/d2...tems-listview/

    Il suffit d'adapter.

  5. #5
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2021
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2021
    Messages : 117
    Par défaut
    Merci j'ai reussi pour grouper les mêmes lignes d'un fichier mais comment faire pour regrouper les mêmes lignes de plusieurs fichiers ( prendre en compte que les fichiers qui contiennent la valeur textbox1 dans le nom )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Class Barre
            Public Property Nom As String
            Public Property Couleur As String
            Public Property quantite As String
        End Class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Dim recup As String
     
            For Each fichier As String In IO.Directory.GetFiles("C:\test", "*.csv")
                Dim info As New IO.DirectoryInfo("C:\test")
     
                recup = fichier.Split(" ")(8)
     
                If recup = tbachatdate.Text Then
     
                    'Lecture du fichier
                    Dim fruits_fichier = File.ReadAllLines(fichier)
     
                    'Récupération des informations du fichiers
                    Dim fruits_list_origin = New List(Of fruit)
                    For Each item In fruits_fichier
                        Dim parts = item.Split(New Char() {";"}, StringSplitOptions.RemoveEmptyEntries)
     
                        fruits_list_origin.Add(New fruit With {.Nom = parts(0), .Couleur = parts(1)})
                    Next
     
                    'Regroupement et comptage des fruits
                    Dim fruits_group = fruits_list_origin _
                        .GroupBy(Function(fruit) New With {Key fruit.Nom, Key fruit.Couleur}) _
                        .Select(Function(groupe) New With {.Nom = groupe.Key.Nom, .Couleur = groupe.Key.Couleur, .Nombre = groupe.Count()})
     
                    'Affichage des fruits groupés et comptés
                    'A remplacer par l'insertion de ListViewItem
                    For Each fruit In fruits_group
                        'MessageBox.Show($"{fruit.Nom}, {fruit.Couleur}, {fruit.Nombre}")
                        achatlvcontenubarre.Items.Add($"{fruit.Nom}, {fruit.Couleur}, {fruit.Nombre}")
                    Next

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par défaut
    Le nom d'un fichier est une simple chaine.
    Nul besoin de le splitter pour savoir si une chaine est présente dans une autre, il suffit d'utiliser IndexOf.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If (fichier.IndexOf(tbachatdate.Text, StringComparison.OrdinalIgnoreCase) > 0) Then
    End If
    Et si tu dois avoir les infos de tous les fichiers avant de regrouper, il suffit de créer la liste avant de boucler sur les fichiers

Discussions similaires

  1. comment parser un fichier csv qui contient des ligne en json
    Par khadi8 dans le forum Général Python
    Réponses: 4
    Dernier message: 07/02/2014, 21h07
  2. trouver le fichier zippé qui contient une expression
    Par talvins dans le forum Administration système
    Réponses: 12
    Dernier message: 16/12/2009, 17h01
  3. telecharger un fichier zip qui contient une liste de fichier à supprimer
    Par joulive dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 29/07/2009, 13h54
  4. Creer un macro qui verifie une info sur plusieur fichier excel
    Par Esmax666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/07/2009, 16h42
  5. lire fichier csv et en extraire des infos
    Par isaglada dans le forum VBScript
    Réponses: 2
    Dernier message: 12/02/2007, 13h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo