Lire un fichier a partir de la 4eme ligne

dreamdeb -  
heyquem Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un fichier texte dans lequel les 4 premieres lignes sont des entetes et le reste des valeurs en ascii.
Je ne peux pas faire mon robot en python avec ces entetes et mon robot doit parser ce fichier dont le nombre de lignes suivantes sont aléatoires.
J'ai essayé avec read, readlines, mais cela ne fonctionne pas car je ne sais pas si je dois utiliser while ou for.
Je débute en python, merci pour votre aide.
A voir également:

5 réponses

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Que ce soit en python ou un autre langage de programmation, c'est le principe de savoir le nombre de ligne qu'il faut passer.
Soit tu connais le nombre de ligne : dans ce cas tu lis autant de ligne que "nombre", puis tu lis les autres lignes, une à une.
Soit tu ne connais pas le nombre de ligne, et là, il faut déterminer le fin de l'entête ou au moins le début de ce que tu dois lire pour récupérer le contenu
0
dreamdeb
 
Merci pour votre réponse rapide, mais le fichier a une longueur différente. La seule chose que je connaisse est l'entete sur 3 lignes, et que je dois lire ligne après ligne et printer chacune de ces lignes... sauf mes 4 premieres lignes ;-)

Merci
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92 > dreamdeb
 
Il faudrait savoir - un coup La seule chose que je connaisse est l'entete sur 3 lignes,
et un autre sauf mes 4 premieres lignes
alors c'est trois ou quatre lignes ?
peu importe, il faut lire le fichier ligne par ligne en ne tenant pas compte des trois ou quatre premières lignes
Je ne vois pas ou est le blême!
En ce qui concerne le while ou le for, je dirait le while not EOS : TANT QUE pas le fin du fichier.
0
sakoba2010 Messages postés 157 Date d'inscription   Statut Membre Dernière intervention   15
 
Je crois que la méthode Seek peut faire l'affaire.
Il permet de changer la position du curseur.
http://python.mesexemples.com/plus-de-python/fichiers/modifier-la-position-courante-dun-fichier-avec-le-module-f-seekoffset-where/
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
# Ouvrir le fichier en mode Lecture
# se positionner sur la quatrième ligne
file.seek(4, 0)
#Lire le fichier ligne par ligne
for line in f.readlines():
print line, #Afficher la ligne courante
quelque chose comme ça !
0
heyquem Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   131
 
hé Heliotte , ce serait mieux de faire tourner les codes avant de les poster

seek() ne concerne pas les lignes mais les caractères
0
dreamdeb
 
super merciiiiiii ca va m'aider a looooot
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
super si ok
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
heyquem Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   131
 
with open(filename,'r') as f: 
    f.readline() 
    f.readline() 
    f.readline() 
    f.readline() 
    # et là le pointeur de fichier est positionné devant 
    # le premier caractère de la 5 ième ligne 
    for line in f: 
        # on itère sur les lignes après les 4 premières 
        ...... 
        ........
0