Conseil pour comparer le nombre de mots de deux fichiers texte (débutant)
Résolu/Fermé
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
-
26 mai 2020 à 15:48
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 20:55
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 20:55
A voir également:
- Conseil pour comparer le nombre de mots de deux fichiers texte (débutant)
- Piratage facebook changer mot de passe - Guide
- Formule excel si contient texte alors texte ✓ - Forum Excel
- Deux comptes whatsapp - Guide
- Explorateur de fichiers - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
4 réponses
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
26 mai 2020 à 16:01
26 mai 2020 à 16:01
bonjour, quel résultat veux-tu précisément obtenir?
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
26 mai 2020 à 16:02
26 mai 2020 à 16:02
avant tout, utilise les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 16:18
26 mai 2020 à 16:18
Autant pour moi, on peut pas éditer les messages ici ?
Imaginons mes deux fichiers textes :
L1txt1 : Comment ça va ?
L1txt2 : Tout va plutôt bien.
L2txt1 : Bien.
L2txt2 : D'accord.
Donc, je voudrais que pour chaque ligne de mes textes (ils sont plutôt longs) puisse être comparé le nombre de mots. Par exemple, pour les lignes 1 : Il y a trois mots pour txt1 et un mot pour txt2 ; un mot pour L2txt1, et un mot pour L2txt2. Et ainsi de suite pour toutes les lignes. Voilà :)
Imaginons mes deux fichiers textes :
L1txt1 : Comment ça va ?
L1txt2 : Tout va plutôt bien.
L2txt1 : Bien.
L2txt2 : D'accord.
Donc, je voudrais que pour chaque ligne de mes textes (ils sont plutôt longs) puisse être comparé le nombre de mots. Par exemple, pour les lignes 1 : Il y a trois mots pour txt1 et un mot pour txt2 ; un mot pour L2txt1, et un mot pour L2txt2. Et ainsi de suite pour toutes les lignes. Voilà :)
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:02
26 mai 2020 à 17:02
dans ce cas-là, pourquoi ne pas lire, ligne par ligne, dans les deux fichiers simultanément, et imprimer le résultat de la comparaison?
cela t'évite de mémoriser le nombre de mots de l'ensemble des lignes d'un fichier.
cela t'évite de mémoriser le nombre de mots de l'ensemble des lignes d'un fichier.
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
1 461
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:04
26 mai 2020 à 17:04
je suppose que tu n'as pas essayé de faire un exemple correct, où les comparaisons correspondent au contenu des fichiers?
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
>
yg_be
Messages postés
22624
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 mars 2024
26 mai 2020 à 17:22
26 mai 2020 à 17:22
Oui je pense que ça serait mieux étant donné que mon texte est long ? (je retourne ta question en question haha) Avec un "with" par exemple ? J'ai bricolé ça mais bon le bidouillage en programmation....
with open("a.txt", "r") as f1, open("b.txt", "r") as f2: lines = f.readlines().split("\n")
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
>
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
Modifié le 26 mai 2020 à 17:29
Modifié le 26 mai 2020 à 17:29
Oui j'ai donné un exemple au hasard. Bon du coup ça a fonctionné en enlevant le split. Mais est-ce que c'est bien ce que tu avait proposé de faire ?
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
176
26 mai 2020 à 16:53
26 mai 2020 à 16:53
Bonjour assange337,
Déjà, il faut compter les mots par ligne, et non pas les additionner tous :
Déjà, il faut compter les mots par ligne, et non pas les additionner tous :
f = open("a.txt", "r") text1 = f.readlines() number_of_words = {} n=0 for line in text1: line = line.strip("\n") words = line.split() number_of_words[n] = len(words) n+= 1 f.close() for k in range (n): print("words line {:d} : {:d}".format(k+1,number_of_words[k]))
assange337
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
26 mai 2020 à 17:10
26 mai 2020 à 17:10
Merci c'est pas mal ! Par contre j'ai l'impression que les points d'interrogation sont compris comme des mots
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
176
26 mai 2020 à 17:04
26 mai 2020 à 17:04
il y a plein de possibilités en fait ...