Hoi,
ich suche nach einer möglichst effizienten Weise ein File zu sortieren: Die Files, um die es geht sind rel. groß (+/- 10 GByte) und in Spalten aufgebaut. Zu sortieren ist nach einer Spalte im jeweiligen File, die eindeutige Zahlen enthält. Die Files sind einfache Textfiles (binäre Alternative gäbe es auch, aber die lassen wir mal beiseite ...). Und die Ausgabefiles sollen das selbe Format haben, nur eben aufsteigend nach den Zahlen sortiert.
In einem ersten Schritt das File durchforsten und ein Dict mit Schlüssel (die oben genannte Zahl) und Zeilennummer erstellen. Doch dann? Das File wieder und wieder zu durchlaufen, zum eigentlichen Sortieren, ist keine gute Idee. Mit seek springen ist zwar möglich, doch die Zeilenlänge ist nicht unbedingt konstant.
Kann mir jemand 'nen Tipp geben?
Gruß,
Christian
Grosses File nach Spalte sortieren
http://code.activestate.com/recipes/576755/
Wobei dann "key" ne Funktion ist, die dann die erste Spalte jeder Zeile sucht.
Es werden kleine Päcken sortiert und diese dann zusammengefügt, das geht recht speichereffizient.
Wobei dann "key" ne Funktion ist, die dann die erste Spalte jeder Zeile sucht.
Es werden kleine Päcken sortiert und diese dann zusammengefügt, das geht recht speichereffizient.
Hoi,
Danke! (Auf die Idee da zu suchen hätte ich auch kommen müssen ...)
Gruß,
Christian
Danke! (Auf die Idee da zu suchen hätte ich auch kommen müssen ...)
Gruß,
Christian