Récupérer des données d'un fichier texte [Résolu/Fermé]

Signaler
-
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
-
Bonjour,

Je souhaite réaliser un script python me permettant de récupérer les données lignes par lignes d'un tableau (fichier .txt) afin de les traiter et de les écrire dans un nouveau fichier txt.

Le tableau est simple (environ 3 colonnes) et je cherche à récupérer chaque lignes afin de faire la moyenne des 3 valeurs et d'en suite écrire le résultat dans un nouveau tableau (à une seule colonne)

Je cherche comment arriver a récupérer ces valeurs la..

Merci


Configuration: Windows / Chrome 75.0.3770.100
A voir également:

1 réponse

Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
129
Il faut ouvrir le fichier puis le lire. Pour ça :
# On ouvre le fichier en mode 'read' :
fichier = open("emplacement/du/fichier.txt", 'r')
# On lis le fichier :
contenu_du_fichier = fichier.readlines()


et toute tes valeurs se trouveront dans la valeur "contenu_du_fichier".

Bonne journée !
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
12 juillet 2019

woaw super je vais me pencher sur cette solution ;) merci a toi encore une fois
Messages postés
6
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
12 juillet 2019

for ligne in liste_des_lignes :

a quoi correspond : liste_des_lignes
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
129
C'est juste la liste des lignes lu dans le fichier a à l'aide de readlines(). C'est pareil que ta variable ligne dans le programme précédent.
Messages postés
6
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
12 juillet 2019

ligne = source.readlines()
longueur = len(ligne)

Ligne_coupe_en_colonne  = []

for ligne in ligne :
    ligne_coupe = ligne.split("\t")
    Ligne_coupe_en_colonne.append(ligne_coupe)


colonne_deux_au_debut = []
for i in Ligne_coupe_en_colonne :
    nouvel_ordre = [i[1],i[2],i[3],i[4],i[0]]
    colonne_deux_au_debut.append(nouvel_ordre)


colonne_deux_au_debut = colonne_deux_au_debut.sort()


liste_triees = []
for i in colonne_deux_au_debut :
    ligne_reforme = str(i[0]) + "\t" + str(i[1]) + "\t" + str(i[2]+ "\t" + str(i[3]+ "\t" + str(i[4])
    liste_triees.append(ligne_reforme)

destination.write(liste_triees)




je pense me tromper sur le premier for
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
129
Tu as mis "ligne = source.readlines()" puis "for ligne in ligne". Il y a donc deux variables différentes mais avec le même nom. Il faut les distinguer en mettant par exemple :
#ligne avec un S (parce que il y en a plusieurs ;)
lignes = source.readlines()
#Puis on utilise par exemple ligne pour la ligne dont on va s'occuper pendant la boucle.
for ligne in lignes :