2011-01-25 14 views

Respuesta

281
with open(fname) as f: 
    next(f) 
    for line in f: 
     #do something 
+34

si necesita la cabecera más tarde, en lugar de 'próxima (f)' 'utilizar f.readline()' y almacenarlo como una variable – damned

+21

O utilice 'header_line = próxima (f)'. – Samuel

60
f = open(fname,'r') 
lines = f.readlines()[1:] 
f.close() 
+1

cuántas líneas omitirá –

+0

Esto omitirá 1 línea. '['a', 'b', 'c'] [1:]' => '['b', 'c']' –

+1

esta debería ser la respuesta correcta –

8
f = open(fname).readlines() 
firstLine = f.pop(0) #removes the first line 
for line in f: 
    ... 
1

Si rebanar podría trabajar en iteradores ...

from itertools import islice 
with open(fname) as f: 
    for line in islice(f, 1, None): 
     pass 
+0

Esta es una manera realmente agradable y pitónica de resolver el problema y se puede extender a un número arbitrario de líneas de encabezado – Dai

18

Si desea que la primera línea y luego desea realizar alguna operación en el archivo de este código será útil.

with open(filename , 'r') as f: 
    first_line = f.readline() 
    for line in f: 
      # Perform some operations 
2
with open('old.csv', 'r') as f, open('new.csv', 'w') as ff: 
    first_line = f.readline() 
    for line in f: 
     line = line.translate({ord(i):None for i in 'abcd'}) 
     ff.write(line) 
    ff.seek(0) 
    ff.write(first_line) 
Cuestiones relacionadas