Número de líneas / renglones en un archivo con Python

Mientras buscaba la forma mas rápida de contar la cantidad de registros/líneas/renglones en un archivo de texto de aproximadamente 3GB, esto fue lo que me ayudó:

Utilizando Python para leer un archivo de aproximadamente 20 millones de líneas solamente tomó 4 segundos.

from itertools import (takewhile,repeat)

def rawincount(filename):
    f = open(filename, 'rb')
    bufgen = takewhile(lambda x: x, (f.raw.read(1024*1024) for _ in repeat(None)))
    return sum( buf.count(b'\n') for buf in bufgen )

rawincount('c:/tmp/MiArchivo.txt')

Espero sea de ayuda


Leave a Reply

Your email address will not be published.

Para evitar SPAM realiza la siguiente operación: *