Ich habe eine große Textdatei (~ 7 GB). Ich suche, ob es die schnellste Möglichkeit gibt, große Textdateien zu lesen. Ich habe gelesen, dass mehrere Ansätze als Stück für Stück gelesen werden, um den Prozess zu beschleunigen.Python schnellste Möglichkeit, eine große Textdatei (mehrere GB) zu lesen
am Beispiel effbot vorschlagen
# 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**
um 96.900 Textzeilen pro Sekunde zu verarbeiten. Andere authors vorschlagen Islice zu verwenden()
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))
wird eine Liste der nächsten n
Zeilen der Datei f
zurückzukehren. Mit dieser in einer Schleife geben Sie die Datei in Blöcken von n
Linien
Warum nicht Sie überprüfen selbst was ist am schnellsten für dich? – piokuc
Cehck die Vorschläge hier: http://StackOverflow.com/Questions/14863224/Efficient-Reading-of-800-Gb-XML-File-in-Python-2-7 – BenDundee
@ Nix ich möchte nicht lesen Zeile für Zeile, aber Chunk für Chunk –