French extraire le nombre de lignes d'un fichiers CSV

fgh3966

Active Member
Licensed User
Bonjour tout le monde 😃

je cherche a extraire le nombre de lignes d'un fichier CSV sans faire de boucle car pour l'instant j'utilise le code çi dessous

B4X:
    dim nbline as int
    stringList = File.Readlist(File.DirAssets,"fichier.csv")
    For i = 0 To stringList.Size - 1
        tmpstring = stringList.get(i)
        nbline = nbline + 1
        Log (nbline):
next

Y a-t-il une instruction évitant de faire (des) boucle(s) afin de savoir combien de ligne(s) contients un fichier, voire un fichier CSV ?

Merci d'avance.
 
Last edited:

Serge Bertet

Active Member
Licensed User
Longtime User
Salut. On voit pas la fin de la boucle for mais il semblerait que :
B4X:
    Dim nbline As Int = File.Readlist(File.DirAssets,"fichier.csv").Size
ou alors j'ai pas compris la question ...
 

zed

Well-Known Member
Licensed User
Dans ton code, tu boucles sur le nombre de ligne.
stringList.Size est le nombre de ligne.
 

emexes

Expert
Licensed User
Longtime User
Y a-t-il une instruction évitant de faire (des) boucle(s) afin de savoir combien de ligne(s) contients un fichier, voire un fichier CSV ?

Si votre code existant fonctionne, pourquoi avez-vous besoin de connaître le nombre de lignes ?

S'il s'agit de dimensionner un array séparé pour recevoir l'une des colonnes le fichier CSV, utilisez peut-être quelque chose comme ceci :

B4X:
stringList = File.Readlist(File.DirAssets,"fichier.csv")
Dim nbline As Int = stringList.Size    '- 1 s'il y a une ligne d'en-tête
Dim Prenom(nbline) As String
 
Last edited:

fgh3966

Active Member
Licensed User
Bonjour Emexes et merci.
j'ai besoin de savoir le nombre de lignes pour effectuer un tri sur une colonne et l'afficher dans une custom list view "CLV"
 

Serge Bertet

Active Member
Licensed User
Longtime User
Le type List possède déjà des méthodes de tri : stringList.Sort... donc inutile d'en connaitre la taille.
Le remplissage d'une CLV passera forcément par une boucle For ou For Each.
 

fgh3966

Active Member
Licensed User
voici un exemple de fichier csv :
a l'aide du programme je sélectionne une valeur de la colone A
si par exemple c'est la valeur 10 (format numérique) présente aux lignes 12, 13, 14 les valeurs de la coloneB soit : 0, 2, 4 s'affichent dans la CLV.
Quand on sélectionne un des 3 items de la CLV, le programme le stocke la valeur de l''item donc 0, 2 ou 4 dans une variable.
Remaque les valeur 0, 2 et 4 sont au format hexadécimal.
 

Attachments

  • tstB4XII.zip
    433 bytes · Views: 107

fgh3966

Active Member
Licensed User
Bonsoir, c'est résolu et un grand merci 🙂
Dans le programme l'intruction
B4X:
nbline = File.Readlist(File.DirAssets,"fichier.csv").Size
fonctionne a merveille :)
 
Top