Supprimer les premières lignes d'un fichier texte
Fermé
dino.adnane
Messages postés
11
Date d'inscription
lundi 7 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
-
9 mai 2018 à 11:59
dino.adnane Messages postés 11 Date d'inscription lundi 7 mai 2018 Statut Membre Dernière intervention 23 mai 2018 - 14 mai 2018 à 12:19
dino.adnane Messages postés 11 Date d'inscription lundi 7 mai 2018 Statut Membre Dernière intervention 23 mai 2018 - 14 mai 2018 à 12:19
A voir également:
- Supprimer une ligne d'un fichier texte python
- Fichier rar - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer une page word - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
10 mai 2018 à 12:23
10 mai 2018 à 12:23
Salut.
Le plus simple, c'est d'héberger le fichier data.txt pour que je puisse faire un code fonctionnel ^^
Une toute petite question : le fichier data.txt est bien dans le même dossier que le script python ?
Dans le shell, les lignes n'apparaissent pas ?
Normal, vu que je n'ai pas codé cette partie. ^^
++
Le plus simple, c'est d'héberger le fichier data.txt pour que je puisse faire un code fonctionnel ^^
Une toute petite question : le fichier data.txt est bien dans le même dossier que le script python ?
Dans le shell, les lignes n'apparaissent pas ?
il ne génère même pas le nouveau_fichier.
Normal, vu que je n'ai pas codé cette partie. ^^
++
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
10 mai 2018 à 17:23
10 mai 2018 à 17:23
Lu'
Merci pour le fichier, cela m'a permis de savoir pourquoi ça ne marchait pas....
X_Value Voltage Comment ==== c'est faux !
En copiant directement cette ligne, et en la déclarant en tant que variable, on s'aperçoit qu'il y a une tabulation entre X_Value et Voltage. Et non pas un espace.
Essaye ceci :
Là, je ne fais que mettre les lignes dans une variable.
A toi d'enregistrer le contenu de cette variable dans un fichier.
++
Merci pour le fichier, cela m'a permis de savoir pourquoi ça ne marchait pas....
X_Value Voltage Comment ==== c'est faux !
En copiant directement cette ligne, et en la déclarant en tant que variable, on s'aperçoit qu'il y a une tabulation entre X_Value et Voltage. Et non pas un espace.
Essaye ceci :
import os lignes="" fichier = "c:/users/tomce/desktop/data.txt" nouveau_fichier = "c:/users/tomce/desktop/nouveau_fichier.txt" element = 'X_Value Voltage Comment' with open(fichier,"r") as FO: for num, line in enumerate(FO, 1): if element in line: with open(fichier,"r") as FO: for ligne in FO.readlines()[num:]: lignes+=ligne.lstrip() lignes+="\n" if lignes != "": print (lignes)
Là, je ne fais que mettre les lignes dans une variable.
A toi d'enregistrer le contenu de cette variable dans un fichier.
++
dino.adnane
Messages postés
11
Date d'inscription
lundi 7 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
14 mai 2018 à 12:19
14 mai 2018 à 12:19
Merci beaucoup
C'est trop gentil
C'est trop gentil
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
10 mai 2018 à 21:35
10 mai 2018 à 21:35
Salut.
J'ai adapté le code, pour que tu puisses créer le nouveau fichier.
A toi de l'adapter si besoin.
++
J'ai adapté le code, pour que tu puisses créer le nouveau fichier.
A toi de l'adapter si besoin.
import os import webbrowser fichier = "c:/users/tomce/desktop/data.txt" nouveau_fichier = "c:/users/tomce/desktop/data_2.txt" os.remove(nouveau_fichier) # suppression du fichier element = 'X_Value Voltage Comment' # élément à trouver, pour démarrer la boucle for with open(fichier,"r") as FO: for num, line in enumerate(FO, 1): # permet de trouver le numéro de ligne où se situe l'élément if element in line: with open(fichier,"r") as FO: for ligne in FO.readlines()[num:]: with open(nouveau_fichier,"a+") as NFO: NFO.write( ligne.lstrip()) if os.path.isfile(nouveau_fichier): webbrowser.open( nouveau_fichier )
++
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
9 mai 2018 à 21:28
9 mai 2018 à 21:28
Salut.
Tu cherches donc à supprimer les lignes en bleu pour ne garder que les lignes en rouge ?
Et également supprimer les espaces à gauche des lignes en rouge ?
++
Tu cherches donc à supprimer les lignes en bleu pour ne garder que les lignes en rouge ?
Et également supprimer les espaces à gauche des lignes en rouge ?
++
dino.adnane
Messages postés
11
Date d'inscription
lundi 7 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
9 mai 2018 à 22:52
9 mai 2018 à 22:52
Merci pour votre réponse
Oui je cherche à supprimer les ligne en rouge (le texte) et l'espace qui est en rouge, donc je veux garder que les valeurs numérique(Pour cela je pense que c"est simple il me faut que remplacer "\t" par "")
Donc en total voila mon code mais j'en ai une erreur qui l’empêche à s'exécuter
Oui je cherche à supprimer les ligne en rouge (le texte) et l'espace qui est en rouge, donc je veux garder que les valeurs numérique(Pour cela je pense que c"est simple il me faut que remplacer "\t" par "")
output_numbers = [float(valeur.replace("\t","")) for valeur in txt if valeur]
Donc en total voila mon code mais j'en ai une erreur qui l’empêche à s'exécuter
txt = data.txt.split("X_Value Voltage Comment")[-1].split("\n") output_numbers = [float(valeur.replace("\t","")) for valeur in txt if valeur]
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
9 mai 2018 à 23:14
9 mai 2018 à 23:14
Essaye ça :
import os lignes="" fichier = "c:/users/tomce/desktop/fichier.txt" nouveau_fichier = "c:/users/tomce/desktop/nouveau_fichier.txt" element = 'X_Value Voltage Comment' with open(fichier,"r") as FO: for num, line in enumerate(FO, 1): if element in line: with open(fichier,"r") as FO: for ligne in FO.readlines()[num:]: lignes+=ligne.lstrip() lignes+="\n" if lignes != "": print (lignes)
dino.adnane
Messages postés
11
Date d'inscription
lundi 7 mai 2018
Statut
Membre
Dernière intervention
23 mai 2018
>
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
9 mai 2018 à 23:51
9 mai 2018 à 23:51
Merci pour votre réponse rapide
Malheureusement le code ne fait rien (mais aucune erreur) il ne génère même pas le nouveau_fichier.
voila le fichier data:
LabVIEW Measurement
Writer_Version 2
Reader_Version 2
Separator Tab
Decimal_Separator ,
Multi_Headings Yes
X_Columns No
Time_Pref Absolute
Operator admin
Date 2018/05/09
Time 11:37:40,0499891300350754284
Channels 1
Samples 1000
Date 2018/05/09
Time 11:37:40,0499891300350754284
Y_Unit_Label Volts
X_Dimension Time
X0 0,0000000000000000E+0
Delta_X 0,000100
X_Value Voltage Comment
0,427676
0,427027
0,427676
0,428001
0,427676
0,427351
0,427027
0,427027
0,428326
0,427676
0,427351
0,428001
0,427351
0,427027
0,427351
0,427351
0,427676
0,426702
0,427027
0,427351
0,427676
0,427351
0,427351
Malheureusement le code ne fait rien (mais aucune erreur) il ne génère même pas le nouveau_fichier.
import os lignes="" fichier = "data.txt" nouveau_fichier = "nouveau_fichier.txt" element = 'X_Value Voltage Comment' with open(fichier,"r") as FO: for num, line in enumerate(FO, start=1): if element in line: with open(fichier,"r") as FO: for ligne in FO.readlines()[num:]: lignes+=ligne.lstrip() lignes+="\n" if lignes != "": print (lignes)
voila le fichier data:
LabVIEW Measurement
Writer_Version 2
Reader_Version 2
Separator Tab
Decimal_Separator ,
Multi_Headings Yes
X_Columns No
Time_Pref Absolute
Operator admin
Date 2018/05/09
Time 11:37:40,0499891300350754284
- End_of_Header***
Channels 1
Samples 1000
Date 2018/05/09
Time 11:37:40,0499891300350754284
Y_Unit_Label Volts
X_Dimension Time
X0 0,0000000000000000E+0
Delta_X 0,000100
- End_of_Header***
X_Value Voltage Comment
0,427676
0,427027
0,427676
0,428001
0,427676
0,427351
0,427027
0,427027
0,428326
0,427676
0,427351
0,428001
0,427351
0,427027
0,427351
0,427351
0,427676
0,426702
0,427027
0,427351
0,427676
0,427351
0,427351
little boy62
Messages postés
3591
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
19 octobre 2024
1 766
9 mai 2018 à 23:15
9 mai 2018 à 23:15
lstrip permet de supprimer les espaces vides de gauche et de droite.
10 mai 2018 à 14:15
voila un lien pour le télécharger
https://uncloud.univ-nantes.fr/index.php/login