Sortieren von text-Datei
Habe ich diese txt-Datei (knapp 60 MB)
560000100300100201100001000000000000[...]
560000100400100201100001000000000000[...]
560000100400200201100001000000000000[...]
560000100200100201100001000000000000[...]
Schreibe ich ein Programm in vb .net, die einige unabhängige Prozess mit dieser Datei.
Aber am Ende, es ist unsortiert.
Den "Tasten" sind: (Sie sind zusammen)
01003, 01004, 01004, 01002
und
001, 001, 002, 001
Jede Zeile beginnt mit 56000 dann den ersten Schlüssel, der den zweiten Schlüssel und der rest der Zeile.
Ich habe versucht, zu verwenden, zu SORTIEREN, das ist in Windows enthalten. Es hat einen ziemlich netten job, aber ich muss meine eigene Funktion, die im Fall SORTIEREN ist nicht verfügbar.
Sollte die Ausgabe schreiben 560001002001 auf den ersten.
Irgendwelche Ideen?, Fragen Sie, was Sie brauchen, yo wissen.
Danke.
Sortieren ist eine Komponente von windows, so sollten immer verfügbar sein...
InformationsquelleAutor Jaxedin | 2011-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht über den Windows "sort.exe". Verwenden VB.Net stattdessen:
Hier ist ein Beispiel-Programm von MSDN, der bereits die meiste Arbeit für Sie:
Hier ist die Dokumentation für die ArrayList.Sort():
http://msdn.microsoft.com/en-us/library/8k6e334t.aspx
'Hoffe, das hilft!
Ausgezeichnet. Danke 😀
InformationsquelleAutor paulsm4
wollte einen Kommentar abgeben, aber der browser lässt mich nicht. also eine Antwort auf die Art on n chars:
sehen sort(icomparer) in http://msdn.microsoft.com/en-us/library/0e743hdt.aspx, wo Sie schreiben Ihre eigenen compare-Funktion, also geht alles.
InformationsquelleAutor Martin
Angesichts der Größe der Datei, Sie können besser geht 'old-school' und etwas wie DOS SORTIEREN zum Sortieren der Datei. Ich habe zu tun, diese für Data-Warehousing und code, der nicht ausgeführt wurde, sowie eine text-Datei sorter.
In einem Kommando-Fenster (könnte eine Konsolen-Anwendung oder mithilfe von ShellExecute auf eine batch-Datei, oder auf eine andere Weise im code), wird der folgende Befehl sortiert die Datei nach seinem Inhalt:
Diese Weise Sortieren Sie die Datei so schnell wie möglich, dann Lesen Sie den Inhalt Ihrer Datei sortiert (MyFile_Sorted.CSV) in Ihrem Programm. Kann es sein, zwei Schritte, aber das ist viel einfacher und schneller als das Lesen in den Speicher zu Sortieren, dann die Arbeit auf das Ergebnis gesetzt. Man konnte Lesen, jede Zeile, die in zu wissen, es ist bereits sortiert, und entfernen Sie die Notwendigkeit, Platz 60 MiB im Speicher.
InformationsquelleAutor Kevin Hogg