IPB

Bienvenue invité ( Connexion | Inscription )

> comptage de signes, nombre d'occurrences... [résolu]
Options
losto
posté 10 Jan 2020, 20:32
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 225
Inscrit : 23 Oct 2001
Lieu : environs de Lille
Membre no 1 110



Bonjour.

Soit le texte ci-dessous (en réalité il y a plus de soixante-mille lignes...)

[attachment=59748:Capture_...20.09.13.png]

Les lignes sont divisées en deux parties par un tiret long (en vert à gauche et en rouge à droite du tiret long), et séparées par un retour-ligne (ou un retour paragraphe si nécessaire).

Je dois:
1) trouver l'occurrence la plus longue (en signes) avant le tiret long ;
2) trouver l'occurrence la plus longue (en signes) après le tiret long ;
3) trouver l'occurrence avant le tiret long qui se répète le plus de fois (exemple bleu).

Pour compliquer un peu la chose, je dois en réalité trouver les dix premières occurrences de chaque (les dix plus longues avant et les dix plus longues après le tiret long, et les dix avant le tiret long qui se répètent le plus.

J'espère avoir été clair. Je ne vois pas avec quelle application je peux faire ça de manière la plus simple possible.

Une idée?

Ce message a été modifié par losto - 17 Jan 2020, 09:45.


--------------------
 MacBook Air 13" M2 - macOS Sequoia 15.2 - RAM 24Go - SSD 500Go avec un moniteur 28" ici (en France) et un autre là (en Breizh) • SSD Crucial P3 Plus 4To dans boîtier Yottamaster Thunderbolt 3 • Hub UGREEN Thunderbolt 3 4 - 1 port alimentation USB-C - 1 port HDMI pour double moniteur étendu 4K 60Hz - 1 port de données USB-C 5Gbs - 2 ports USB 3.0 - Slot pour carte SD • (branchés dessus :) hub 1 port RJ45 gigabit ethernet - 3 ports USB 3.0 • hub 4 ports USB 3.0
 MacBook Pro 15" 2,2 GHz Intel Core i7 - macOS 10.13.6 - RAM 16Go - SSD 1To  Imprimantes laser multifonctions Brother 9020 CDW (France), Brother DCPL2530W & HP MFP179 (Breizh)
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
PBell
posté 13 Jan 2020, 08:54
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 269
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,
Effectivement avec un tableur, cette analyse est assez simple.
Au vue des réponses précédentes, je vois que le problème de séparation en 2 colonnes est résolu.
Il y a donc maintenant une colonne A avec les premières parties du texte et une colonne B avec les secondes parties. Je suppose que ces 2 colonnes débutent en A2 et B2

Je n'ai pas Numbers, mais sur Excel il est extrêmement facile d'obtenir ce que tu souhaites en quelques clics. L'explication semble longue, mais c'est parce que je détaille les étapes pour les non habitués d'Excel.

Preparation des données :
Insérer des titres à chaque colonne. C'est indispensable pour le tableau croisé. C'est juste la valeur de la première cellule en haut de la colonne :
- un titre "Avant" sur la colonne A qui contient le texte avant le tiret : cellule A1
- un titre "Après" sur la colonne B qui contient le texte après le tiret : Cellule B1
- un titre "NbAvant" en cellule C1 (nouvelle colonne)
- un titre "NbAprès" en cellule D1 (nouvelle colonne)
Ajouter une formule en C1 qui compte le nombre de signes : =NBCAR(A1)
Sélectionner C1, copier, puis sélectionner avec la touche majuscule enfoncée la cellule D de la dernière ligne de texte et coller. Cela va coller la formule NBCAR(A1) sur la colonne C et NBCAR(D1) sur la colonne D.Notez que Excel est "intelligent" car il va copier en C la formule qui se refaire à A, et en D celle qui se réfère à B !

Trouver les occurrences les plus longues : un simple "trié" sur les colonne C ou D donne les valeurs avec le plus de caractères (penser à demander de trier du plus grand au plus petit pour voir le résultat des plus long en début de fichier.

Pour compter les occurrences, il y a 2 méthodes possibles avec Excel
La fonction "consolider" avec l'option comptage qui doit être appliquée 2 fois : une fois en sélectionnant tout le block de données, ce qui donnera le nombre de fois de la colonne A, puis une seconde fois en sélectionnant le block de B1 à Dxxxx pour compter le nb de fois de chaque valeur de B.

La création d'un tableau croisé : C'et celle que je détaille car cette outil d'analyse est si puissant qu'il peut remplacer bon nombre de scripts.
Sélectionner le bloc de données de A1 à Dxxx, puis, dans l'onglet Données d'Excel sélectionner la fonction Tableau Croisé Dynamique. La position peut varier selon les versions Excel. Excel affiche un panneau qui, par défaut, propose de placer le tableau dans une nouvelle feuille. C'est ce que l'on va faire. Donc simple clic sur OK (ou touche enter) pour valider.

Dans la nouvelle feuille, Excel a crée une table (vide) avec 3 zones :
- une zone entête de colonnes, ligne horizontale en haut.
- une zone entête de lignes, colonne verticale à gauche
- une zone de données, un bloc vide
Note : certaines anciennes versions d'Excel pré-remplissent avec les données qui semblent le plus pertinent. Je suppose que rien n'est rempli.

Il y a aussi une fenêtre d'outils qui contient une liste de noms de champ : Avant, Après, NbAvant et NbAprès. On a juste à faire glisser ces champs dans l'une des 3 zones de cette fenêtre : etiquette de colonne, de ligne, ou valeurs. (j'oublie ici volontairement la zone de filtre)

Ajuster le tableau dans la fenêtre outil tableau croisé:
- faire glisser le champ Avant dans les étiquettes de lignes
- Faire glisser 2 fois le champ NbAvant dans le bloc valeur. Par défaut Excel utilise la fonction somme dans ce block. Sélectionner la première somme toujours dans le bloc valeur, click droit (sur certaines versions il faut clicker dans un petit i !) et sélectionner la fonction Max dans la fenêtre suivante. valider. Répéter de même avec la seconde somme du block valeur, mais cette fois en sélectionnant la fonction comptage.

Voilà ! le tableau croisé dynamique affiche 3 colonnes : les valeurs de texte Avant, leur longueur, et le nombre de fois où ils apparaissent.
En permutant les champs du tableau croisé avec les valeurs des textes Après et NbAprès on obtient la même chose pour la seconde partie du texte.
Enfin, sur ce tableau, sachez que vous pouvez sélectionner dans l'entête de lignes pour demander à trier ce tableau par nombre (le comptage des occurrences) ou longue, croissant ou décroissant.
Bref, une fois que vous avez ce tableau, il suffit de jouer en glissant les données pour analyser sous de multiple angles. Pour retirer une value de données ou d'entêtes, faites simplement glisser la valeur vers la liste des champs.

Malheureusement ces fonctions n'existent pas dans Numbers.

Cordialement

PS : Si tu partages ton fichier texte, je peux te préparer les tableaux croisés si cela te semble trop compliqué


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- losto   comptage de signes, nombre d'occurrences... [résolu]   10 Jan 2020, 20:32
- - baron   Bonsoir losto, Si on est bien d'accord que c...   10 Jan 2020, 23:03
- - losto   Très bonnes pistes. J'attends voir si d'a...   11 Jan 2020, 13:13
- - Cri-cri   Absolument rien à voir avec Graphisme/PAO/CAO... ...   12 Jan 2020, 11:27
- - losto   (Tant d'années peut-être mais pas facile de ...   12 Jan 2020, 11:40
|- - baron   Citation (losto @ 12 Jan 2020, 11:40) Com...   12 Jan 2020, 15:18
||- - baron   Citation (baron @ 12 Jan 2020, 15:18) Cit...   12 Jan 2020, 16:29
|- - Cri-cri   Citation (losto @ 12 Jan 2020, 11:40) (Ta...   12 Jan 2020, 18:56
- - jeanjd63   Salut. Ce serait bien de fournir le fichier sourc...   12 Jan 2020, 11:53
- - Jaypee   Bonjour, Le comptage de signes est l'exemple ...   12 Jan 2020, 17:20
- - losto   Merci pour vos réponses. J'allais préciser...   12 Jan 2020, 20:12
- - PBell   Bonjour, Effectivement avec un tableur, cette anal...   13 Jan 2020, 08:54
- - losto   À te lire, PBell (merci pour ta réponse détaill...   13 Jan 2020, 10:57
- - baron   La solution présentée par PBell est assurément...   13 Jan 2020, 15:42
- - PBell   Bonsoir, J'ai pris la version Excel. J'ai...   13 Jan 2020, 19:21
- - losto   PBell, je te remercie, je vais regarder ça dès q...   14 Jan 2020, 16:05
- - losto   baron, j'ai téléchargé ton archive et ai tr...   15 Jan 2020, 21:01
- - baron   Je crains que ce soit surtout la démonstration de...   15 Jan 2020, 21:16
- - PBell   Bonsoir, Je n'ai pas Number, mais quelques id�...   15 Jan 2020, 22:22
|- - baron   Merci pour ton aide. Tout en répondant à tes ...   16 Jan 2020, 01:03
- - losto   Je réponds à tous les contributeurs. Graphiste ...   16 Jan 2020, 01:53
- - baron   Je t'invite, dans ton 2e tableau allégé, à ...   16 Jan 2020, 02:28
- - losto   Impec, merci!   16 Jan 2020, 10:27
- - PBell   Merci de tes réponses sur les formules de Numbers...   16 Jan 2020, 20:10


Reply to this topicStart new topic
5 utilisateur(s) sur ce sujet (5 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 3rd April 2026 - 13:39