Récupérer des données d'un fichier texte

Résolu/Fermé
tho - 8 juil. 2019 à 10:06
Breizhux
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
- 12 juil. 2019 à 14:51
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

Breizhux
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
142
8 juil. 2019 à 12:07
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 !
3
merci,
mais j'aimerai pouvoir le faire ligne par ligne, par exemple ne récupérer que la ligne 2
c'est possible avec cette meme commande ?
0
Breizhux
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
142
8 juil. 2019 à 12:45
"contenu_du_fichier" est une liste de ligne.
Donc la ligne n°2 s'obtient directement en faisant :
ligne_deux = contenu_du_fichier[1]
2
Ok merci j'ai reussi à le faire fonctionner
0
et dernière chose, une fois que j'ai pu lire ma ligne, comment faire pour séparer les datas qui sont dans les colonnes ?

Par exemple, colonne 1 = description et colonne 2 et 3 sont des données a additionner
0
Breizhux
Messages postés
367
Date d'inscription
vendredi 1 septembre 2017
Statut
Membre
Dernière intervention
17 novembre 2020
142
8 juil. 2019 à 14:19
Avec la fonction split. Si on a la ligne :
ligne = "description 00 11"
# On sépare à chaque blanc :
description, nbr_un, nbr_deux = ligne.split(" ")


On récupère donc ici les trois valeur, mais attention, nbr_un et nbr_deux sont des chaines. Il suffit de les convertir en valeur int ou float avec :
nbr_un_entier = int(nbr_un)
nbr_deux_entier = int(nbr_deux)
0