Suppression de ligne commençant par
Aku
-
Aku -
Aku -
Bonjour,
J'ai quelques difficultés en python
Je cherche a obtenir un programme suppriment des lignes commençant par un espace ou un point d'exclamation puis un espace et garder les lignes commençant par un point d'exclamation et une étoile :
lignes a supprimer : ' ' et '! '
ligne à garder : !*
voici mon programme actuel :
chaine = r"! " #Texte à rechercher
contenu = ""
fichier = open("C:\\Users\\a141726\\Desktop\\TestPython\\LMAM1601464943.txt","r")
for ligne in fichier:
if not(chaine in ligne):
contenu += ligne
fichier.close()
fichier = open('C:\\Users\\a141726\\Desktop\\TestPython\\LMAM1601464943v2.txt', 'w')
fichier.write(contenu)
fichier.close()
le problème et que le fichier que j'obtiens à la fin est totalement déstructure et m'affiche des !?? un peut partout.
Pouvez vous m'aider
merci d'avance
J'ai quelques difficultés en python
Je cherche a obtenir un programme suppriment des lignes commençant par un espace ou un point d'exclamation puis un espace et garder les lignes commençant par un point d'exclamation et une étoile :
lignes a supprimer : ' ' et '! '
ligne à garder : !*
voici mon programme actuel :
chaine = r"! " #Texte à rechercher
contenu = ""
fichier = open("C:\\Users\\a141726\\Desktop\\TestPython\\LMAM1601464943.txt","r")
for ligne in fichier:
if not(chaine in ligne):
contenu += ligne
fichier.close()
fichier = open('C:\\Users\\a141726\\Desktop\\TestPython\\LMAM1601464943v2.txt', 'w')
fichier.write(contenu)
fichier.close()
le problème et que le fichier que j'obtiens à la fin est totalement déstructure et m'affiche des !?? un peut partout.
Pouvez vous m'aider
merci d'avance
A voir également:
- Sed supprimer ligne commençant par
- Supprimer rond bleu whatsapp - Guide
- Partager photos en ligne - Guide
- Supprimer une page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Mètre en ligne - Guide
4 réponses
Bonjour,
Voici un exemple du fichier que je doit traiter, J'ai fait quelque modification car ce sont des fichier confidentiel, et je ne suis que stagiaire .. Je vous rappel que je veut seulement conserver les lignes commençant par !* ________________________________________________________________________________________________________________
! ! ! ! !
! Cpte annexe Ent Part Dev Pério ! Montant ca EU 2013 ! Montant ca EU 2012 ! Montant ca EU 2011 !
!__________________________________________!_______________________!______________________!______________________!
!!
! ! ! ! !
!* 00012 AAAAAAAAAAAAAA ! 0.000,00 ! 0.000,00 ! 0.000,00 !
! ! ! ! !
!* 00016 AAAAAAAAAAAAAA ! 0,00 ! 0,00 ! 000,00 !
!
! ! ! ! !
J'ai essayer aussi en bash mais ça ne marche pas ...
FINDSTR "!* " C:\Users\a141726\Desktop\TestPython\LMAM1601464943.txt > C:\Users\a141726\Desktop\TestPython\LMAM1601464943v2.txt
ça me copie toutes les lignes dans le nouveau fichier
Voici un exemple du fichier que je doit traiter, J'ai fait quelque modification car ce sont des fichier confidentiel, et je ne suis que stagiaire .. Je vous rappel que je veut seulement conserver les lignes commençant par !* ________________________________________________________________________________________________________________
! ! ! ! !
! Cpte annexe Ent Part Dev Pério ! Montant ca EU 2013 ! Montant ca EU 2012 ! Montant ca EU 2011 !
!__________________________________________!_______________________!______________________!______________________!
!!
! ! ! ! !
!* 00012 AAAAAAAAAAAAAA ! 0.000,00 ! 0.000,00 ! 0.000,00 !
! ! ! ! !
!* 00016 AAAAAAAAAAAAAA ! 0,00 ! 0,00 ! 000,00 !
!
! ! ! ! !
J'ai essayer aussi en bash mais ça ne marche pas ...
FINDSTR "!* " C:\Users\a141726\Desktop\TestPython\LMAM1601464943.txt > C:\Users\a141726\Desktop\TestPython\LMAM1601464943v2.txt
ça me copie toutes les lignes dans le nouveau fichier
Salut Aku,
Un truc comme cela devrait faire l'affaire, je pense :
Dal
Un truc comme cela devrait faire l'affaire, je pense :
fichier_in = open("fichier_originel.txt","r") fichier_out = open("extraction.txt", "w") for ligne in fichier_in: if ligne.startswith("!*"): fichier_out.write(ligne) fichier_in.close() fichier_out.close()
Dal
Merci pour ton aide Dal, ton script me parait tout à fait fonctionnel, mais bizarrement le fichier de sortie est vide ...
J'utilise Python 2.7.3 sous Cygwin.
C'est bizarre. En principe le flush n'est pas nécessaire si tu fermes bien le fichier.
Cela dit, je ne pratique pas Python depuis très longtemps, et il y a peut-être un truc qui m'échappe.
Tu pourrais essayer ainsi aussi :
ce qui fermera fichier_out même si une exception se produit.
Sinon, tu devrais re-poster ton code entier et voir si quelqu'un de plus expert que moi en Python peut trouver ce qui ne va pas dans ton code.
Dal
C'est bizarre. En principe le flush n'est pas nécessaire si tu fermes bien le fichier.
Cela dit, je ne pratique pas Python depuis très longtemps, et il y a peut-être un truc qui m'échappe.
Tu pourrais essayer ainsi aussi :
fichier_in = open("fichier_originel.txt","r") with open("extraction.txt", "w") as fichier_out: for ligne in fichier_in: if ligne.startswith("!*"): fichier_out.write(ligne) fichier_in.close()
ce qui fermera fichier_out même si une exception se produit.
Sinon, tu devrais re-poster ton code entier et voir si quelqu'un de plus expert que moi en Python peut trouver ce qui ne va pas dans ton code.
Dal