Récupérer des données d'un fichier texte
Résolu
tho
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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:
- Extraire données fichier texte python
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Extraire une video youtube - Guide
Donc la ligne n°2 s'obtient directement en faisant :
Ça donne après avoir récupéré la liste des lignes avec readlines() :
#On découpe chaque ligne pour obtenir par exemple : ["description", 0, 1] Ligne_coupe_en_colonne = [] for ligne in liste_des_lignes : #On coupe la ligne pour en faire une liste ligne_coupe = ligne.split("\t") #On ajoute la ligne coupé en liste à la liste des lignes (donc "Ligne_coupe_en_colonne" est une liste de liste) Ligne_coupe_en_colonne.append(ligne_coupe) #On fait passer la deuxième colonne au début, pour obtenir : [0, 1, "description"] colonne_deux_au_debut = [] for i in Ligne_coupe_en_colonne : #Chaque ligne fait passer la 2ème valeur de la liste à la première place nouvel_ordre = [i[1],i[2],i[0]] # On l'ajoute à la liste colonne_deux_au_debut.append(nouvel_ordre) #On trie la liste de toute les lignes. colonne_deux_au_debut = colonne_deux_au_debut.sort() #On refait passer la deuxième colonne au milieux pour retrouver cette forme : "description\t0\t1" liste_triees = [] for i in colonne_deux_au_debut : ligne_reforme = str(i[2]) + "\t" + str(i[0]) + "\t" + str(i[1]) #On ajoute à la liste, on peut aussi l'écrire dans le fichier c directement ! liste_triees.append(ligne_reforme)Je ne sais pas si c'est la solution la plus simple. Elle est quand même un peu longue je trouve... Mais ça doit marcher dans tous les cas possible.