[R] Connaitre le nombre d'occurence d'un mot dans une ligne

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

[R] Connaitre le nombre d'occurence d'un mot dans une ligne

#1

Message par GhostLine »

Salut à tous !

Je reviens encore vers vous avec un de mes sempiternels problèmes de traitement de fichier plat :lol:

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ééééééé :oops: ). 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 ! :)
Modifié en dernier par GhostLine le mar. 16 févr. 2010 08:39, modifié 2 fois.
eric
Niveau 5
Niveau 5
Messages : 177
Enregistré le : sam. 21 mars 2009 17:57
Localisation : Bretagne
Status : Hors ligne

Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne

#2

Message 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
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne

#3

Message 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 !
Modifié en dernier par GhostLine le mar. 16 févr. 2010 08:40, modifié 2 fois.
eric
Niveau 5
Niveau 5
Messages : 177
Enregistré le : sam. 21 mars 2009 17:57
Localisation : Bretagne
Status : Hors ligne

Re: [..] Connaitre le nombre d'occurence d'un mot dans une ligne

#4

Message 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)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [RE] Connaitre le nombre d'occurence d'un mot dans une ligne

#5

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [R] Connaitre le nombre d'occurence d'un mot dans une ligne

#6

Message par GhostLine »

Tlem> au temps pour moi, je devrais le savoir, depuis le temps ^^'
Répondre