Page 1 sur 1
[R] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : lun. 15 févr. 2010 16:46
par GhostLine
Salut à tous !
Je reviens encore vers vous avec un de mes sempiternels problèmes de traitement de fichier plat
Voilà l'idée : je génère un fichier .CSV dans lequel je voudrais compter le nombre d'occurrences d'un mot (les fichiers CSV sont des fichiers plats préformatés pour être importés dans Excel, avec des valeurs séparées de ; ).
Comme d'hab, s'agissant de données bancaires, je ne peux pas vous donner de fichier d'exemple (désolééééééé

). Je cherche à compter indifféremment le nombre d'occurrence du mot Télécollecte et du mot Clôture .
Merci d'avance de votre aide !

Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : lun. 15 févr. 2010 17:14
par eric
Bonjour,
Voici une solution :
Code : Tout sélectionner
$ouvrircsv = FileOpen ("C:\monfichier.csv",0) ; ouvre le fichier csv
$fichiercsv = FileRead ($ouvrircsv) ; lit le fichier csv
StringReplace($fichiercsv,"Télécollecte","Télécollecte") ; remplace Télécollecte par Télécollecte
MsgBox(4096,"nombre d'occurence",@extended) ; affiche le nombre de remplacement
FileClose ($ouvrircsv) ; ferme le fichier csv
Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : lun. 15 févr. 2010 17:28
par GhostLine
J'ai oublié "par ligne" pour ma recherche ^^'
J'avais aussi trouvé le @extended entre le moment où j'ai posté le message et maintenant : c'est clairement la clef
edit :
Code : Tout sélectionner
$ouvrircsv = FileOpen ("D:\axconfig.csv",0) ; ouvre le fichier csv
for $i=1 to _FileCountLines("D:\axconfig.csv")
$fichiercsv = FileReadLine ($ouvrircsv) ; lit le fichier csv
StringReplace($fichiercsv,"Télécollecte","Télécollecte") ; remplace Télécollecte par Télécollecte
MsgBox(4096,"nombre d'occurrences : ",@extended) ; affiche le nombre de remplacement
Next
FileClose ($ouvrircsv) ; ferme le fichier csv
Merci pour ton aide, en tout cas !
Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : lun. 15 févr. 2010 17:40
par eric
Ou un truc dans ce style
Code : Tout sélectionner
#Include <File.au3>
$fichier = "C:\mon fichier.csv"
$nombreligne = _FileCountLines($fichier)
$ouvrircsv = FileOpen ($fichier,0)
For $i=1 to $nombreligne
$fichiercsv = FileReadline ($ouvrircsv,$i)
StringReplace($fichiercsv,"Télécollecte","Télécollecte")
MsgBox(4096,"Ligne" & $i,"Nombre d'occurence = " & @extended)
Next
FileClose ($ouvrircsv)
Re: [RE] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : lun. 15 févr. 2010 18:15
par Tlem
@GhostLine
La balise [RE] n'existe pas et de plus, la coloration syntaxique du code est réservée aux forums :
Merci de faire le nécessaire pour corriger cela.
Re: [R] Connaitre le nombre d'occurence d'un mot dans une ligne
Posté : mar. 16 févr. 2010 08:40
par GhostLine
Tlem> au temps pour moi, je devrais le savoir, depuis le temps ^^'