Ich Parsing eine 20 GB-Datei und Ausgabe Zeilen, die eine bestimmte Bedingung zu einer anderen Datei erfüllen, aber gelegentlich Python liest in 2 Zeilen gleichzeitig und verketten Sie.Parsing große (20GB) Textdatei mit Python - Lesen in 2 Zeilen als 1
Ich habe die Zeilenenden in der Quelldatei überprüft und sie als Zeilenvorschübe auschecken (ASCII Char 10). Das Auspacken der Problemzeilen und das separate Analysieren dieser Probleme funktioniert wie erwartet. Triff ich hier eine Python-Beschränkung? Die Position in der Datei der ersten Anomalie liegt um die 4 GB-Marke.
tritt die erste Anomalie immer konsistent bei der gleichen Zeilenanzahl auf? Außerdem ist 'lstIgnoredRows' eine Liste, wie groß wächst das? Ich frage mich, was passiert, wenn Sie nur die Zeilen gespeichert haben, die Sie interessieren, und nichts mit den Zeilen tun, die Sie ignorieren möchten. – Levon
Vielleicht könnten Sie versuchen, kleinere Teile der Datei gleichzeitig mit einer faulen Methode zu lesen, ähnlich dieser Frage? Probieren Sie es aus http://stackoverflow.com/questions/519633/lazy-method-for-reading-big-file-in-python – prrao
Es passiert jedes Mal die gleiche Zeile. lstIgnoredRows kann auf ein paar tausend Elemente anwachsen. – James