ich das Problem neu formulieren werde ich bereits erwähnt hatte:Lesen Sie CSV-Datei und hält nur ein paar Zeilen nach Werten in der Liste (Python)
ich zur Zeit nur versuchen, über 26 Millionen Zeilen aus einer Datei lesen, die über hat 600 Millionen. Ich habe derzeit eine Liste mit den 26 Millionen Zeilen, die mich interessieren.
Meine Lösung ist wie folgt:
## list_ is a list of indices with the number of the 26MM rows
# First, open the output file where i want to copy the 26MM rows
with open(output_file,'w') as g:
# Open the source file with 600MM rows
with open(source_file,'r') as f:
for i,line in enumerate(f):
if i in list_:
g.write(line)
die Größe der Liste und die Größe der Originaldatei gegeben, ich fürchte, es könnte zu lange dauern, diese Datei zu verarbeiten. Ich bin mir bewusst, dass dieses Thema in anderen Fragen behandelt wurde, aber ich glaube nicht, dass andere Beiträge gefragt haben, wann die Textdateien sehr groß sind.
Danke und Entschuldigung für die frühere verwirrend Post,
Was ist passiert, als Sie es versucht haben? – kindall
Es ist gerade seit ein paar Stunden los. Ich habe mich nur gefragt, ob es einen besseren Weg gibt, dies zu tun. Ich sollte das Problem, mit dem ich konfrontiert bin, wahrscheinlich besser beschreiben, und die Suche nach Millionenwerten in Listen ist das Beste, was ich mir vorstellen kann. – dleal
Versuchen Sie einen Schritt zurück und beschreiben Sie das eigentliche Problem. Warum müssen Sie diese Liste 600 Millionen Mal überprüfen? Sind die Elemente völlig zufällig oder gibt es eine Struktur? Fast sicher gibt es einen besseren Weg, um das zu tun, was Sie brauchen. –