Mam duży plik tekstowy (~ 7 GB). Szukam, czy istnieje najszybszy sposób na odczytanie dużego pliku tekstowego. Czytałem o używaniu kilku podejść jako czytanych porcji w celu przyspieszenia procesu.Python najszybszy sposób, aby przeczytać duży plik tekstowy (kilka GB)
na przykład effbot sugerują
# File: readline-example-3.py
file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something**strong text**
w celu przetworzenia 96,900 linii tekstu na sekundę. Inne authors sugerują użycie islice()
from itertools import islice
with open(...) as f:
while True:
next_n_lines = list(islice(f, n))
if not next_n_lines:
break
# process next_n_lines
list(islice(f, n))
zwróci listę najbliższych n
linii pliku f
. Korzystanie z tej wewnątrz pętli daje plik w kawałki n
linii
Dlaczego nie można sprawdzić siebie, co jest dla ciebie najszybsze? – piokuc
Należy zapoznać się z poniższymi sugestiami: http://stackoverflow.com/questions/14863224/efficient-reading-of-800-gb-xml-file-in-python-2-7 – BenDundee
@Następna Nie chcę czytać linia po linii, ale porcja po kawałku –