¿Existe una forma incorporada de usar read_csv
para leer solo las primeras n
líneas de un archivo sin saber la longitud de las líneas de antemano? Tengo un archivo grande que tarda mucho en leerse, y ocasionalmente solo quiero usar las primeras, digamos, 20 líneas para obtener una muestra (y prefiero no cargarlo completo y tomar la cabeza).
Si supiera el número total de líneas, podría hacer algo como footer_lines = total_lines - n
y pasar esto a la skipfooter
palabra clave arg. Mi solución actual es tomar manualmente las primeras n
líneas con python y StringIO en pandas:
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
No es tan malo, pero ¿hay una forma más concisa, 'pandasica' (?) De hacerlo con palabras clave o algo así?
Respuestas:
Creo que puedes usar el
nrows
parámetro. De los documentos :que parece funcionar. Usando uno de los archivos de prueba grandes estándar (988504479 bytes, 5344499 líneas):
fuente
skiprows=None
también es un parámetro útil para recordar