Saltando más de una fila en Python csv

Me estoy conectando a una API para enganchar algunos datos. La salida es un informe que incluye un encabezado multilínea combinado con un encabezado tradicional de una línea.

Ejemplo:

1. Document Name: Test 2. Document Date: 8/7/2015 3. Document ID: 3804804 4. Document Author: Joe Blow 5. 6. Date, ID, Name, Age, Sex, Result 7. 8/7/2015, 2808380, Sara Jenkings, 33, F, 208.20 

En el ejemplo, quiero saltar las líneas 1 – 5 y escribir la fila en la línea 6 como la fila del encabezado y todas las demás filas después de eso como filas normales.

Ahora, sé cómo omitir una línea con la siguiente (lector, Ninguna), pero ¿cómo puedo omitir más de una fila si sé que la cantidad de filas a omitir consistentemente será de 5 filas como en el ejemplo?

Cualquier ayuda es muy apreciada. Normalmente utilizaría una base de datos para omitir las filas, pero quiero ver si Python puede guardar los datos correctamente sin que la base de datos haga más trabajo.

Puede usar itertools.islice , pasando la línea desde la que desea comenzar a escribir como segundo parámetro, de modo que para que la línea 6 se base en 0, use 5 , si la parada es Ninguna, la iteración continúa hasta que se agote el iterador

 import csv from itertools import islice with open("in.csv") as f, open("out.csv","w") as out: r = csv.reader(islice(f, start=5,stop=None)) wr = csv.writer(out) wr.writerows(r) 

No necesariamente necesita el módulo csv si mantiene las líneas tal como están:

 with open("in.csv") as f, open("out.csv","w") as out: r = islice(f, 5 ,None) out.writelines(r) 

Puede agregar un contador y una instrucción if a un bucle for.

 count = 0 for line in opened_file: if count < 5: count += 1 continue #Parse lines 

Saltando 5 líneas de encabezado usando la lista de comprensión:

 import csv nheaderlines = 5 with open(path + file) as csvfile: reader = csv.DictReader(csvfile) [next(reader, None) for item in range(nheaderlines)] for row in reader: print(row)