Anwendung zum Öffnen / Bearbeiten einer sehr großen CSV-Datei (500 MB, 4 Millionen Datensätze)? [Duplikat]

3

Mögliche Duplikate: Texteditor
für sehr große Dateien - Windows
Welcher Editor / Viewer soll zum Überprüfen großer textbasierter Dateien verwendet werden?

Ich habe eine CSV-Datei mit etwa 4 Millionen Zeilen und einer Größe von etwa 500 MB. Können Sie einen Editor empfehlen, der die Datei öffnen kann, ohne dass das System crawlt? Ich habe es mit EmEditor versucht, aber es beklagt sich, dass eine Zeile zu viele Zeichen enthält.

Giorgi
quelle
mögliche Duplikate: superuser.com/questions/34749/... und superuser.com/questions/4044/... ... siehe auch den großen Tag
Quack quixote
verwandte Stack Overflow Frage: stackoverflow.com/questions/159521/…
dag729
2
@ Tag: Es ist nicht genau ein Duplikat, wenn es nicht auf Super User ist. Wir können Fragen nicht als Duplikate von Cross-Site-Posts schließen.
Quacksalber 6.
Ich
verstehe
2
Beide Links zu den möglichen doppelten Fragen scheinen tot zu sein.
Chrisfs

Antworten:

7

Vim sollte ziemlich gut funktionieren, wenn Sie einige Einstellungen ändern, um den Swap-Bereich zu deaktivieren und die Funktionalität rückgängig zu machen: http://vim.wikia.com/wiki/VimTip611

Herbert Sitz
quelle
3

Ich habe JujuEdit (kostenlos) verwendet, um mit 2 GB CSVs zu arbeiten. Behandelt sie ziemlich gut. Was machst du mit den Inhalten? Eine andere Möglichkeit könnte darin bestehen, eine mit MS Access verknüpfte Tabelle auf die Datei zu verweisen, wenn Sie etwas abfragen, sortieren oder filtern müssen.

Chris_K
quelle
3

Sie könnten CSVed ausprobieren. Es wird behauptet, Teile der Datei bei Bedarf zu laden, sodass es möglicherweise für Sie funktioniert.

afrazier
quelle
3

Definiere "edit". Wie möchten Sie die Datei bearbeiten? Zeigen Sie es nur an, oder möchten Sie Änderungen vornehmen? Sind es Änderungen, die Sie programmgesteuert vornehmen würden? In diesem Fall möchten Sie möglicherweise awk, sed oder Perl verwenden, um dies zu tun.

Bezüglich "es beklagt sich, dass eine einzelne Zeile zu viele Zeichen enthält" ist es wahrscheinlich, dass sie Zeilenenden enthält, die sie nicht verarbeiten kann. Es wäre hilfreich, wenn Sie uns mitteilen würden, auf welcher Plattform Sie sich befinden.

Andy Lester
quelle
+1 für die Empfehlung guter UNIX-Tools und für den Vorschlag zur Fehlerbehebung bei Zeilenendeproblemen.
Chris W. Rea
3

Ich habe alle dort vorgeschlagenen Editoren getestet und nur UltraEdit hat es geschafft, sie (in angemessener Zeit) zu öffnen.


Aktualisieren

Es stellte sich heraus, dass die Datei keinen Zeilenumbruch enthielt (es wurde ein anderes Zeichen verwendet), weshalb es schwierig war, sie zu öffnen. Ich schrieb ein Programm, das all diese Zeichen durch Zeilenumbrüche ersetzte und EmEditor öffnete es in Sekunden.

Giorgi
quelle
2

Ich glaube, dass UltraEdit das wahrscheinlich könnte. Ich habe es für riesige Gig + -Dateien verwendet und es ist nicht abgestürzt, aber das Auffinden der gesuchten Daten ist sehr wahrscheinlich. Können Sie alles programmetrisch erledigen? Da Sie von CSV gesprochen haben, nehmen wir an, dass es sich um Textdaten handelt. Vielleicht ist Perl eine gute Wahl, da es Zeichenfolgen verarbeitet und RegEx in Ordnung ist.

Blackbeagle
quelle
Danke, UltraEdit war der einzige, der es geschafft hat, die Datei zu öffnen.
Giorgi
@ Giorgi: "der einzige" von denen? Die Leute könnten neugierig sein, die anderen Editoren zu hören, die Sie ausprobiert haben und die nicht funktionierten.
Herbert Sitz
Ich habe alle in diesem Thread vorgeschlagenen ausprobiert.
Giorgi
@ Giorgi: Ihre Datei muss etwas Außergewöhnliches haben. Auf meinem wimpy Netbook öffnet gVim (ohne Auslagerungsdatei und deaktiviert "Rückgängig") eine 750-MB-Testdatei in ungefähr 10 Sekunden und Sprünge vom Anfang bis zum Ende von 10 Millionen Zeilendateien sind sofort möglich.
Herbert Sitz
@Herbert: Siehe meine Antwort unten.
Giorgi
1

Haben Sie Excel ausprobiert? Es handhabte CSV-Dateien.

Ich bin mir der Dateibeschränkung von Excel 2007 nicht sicher, aber Excel 2010 64-Bit unterstützt jetzt Tabellenkalkulationen mit einer Größe von bis zu 4 GB.

Mike Fitzpatrick
quelle
3
Excel ist schrecklich beim Auslösen von CSV-Dateien. Es ist nicht trivial, Excel zu veranlassen, eine CSV-Datei zu speichern, ohne sie dabei zu beschädigen (indem Excel falsche Annahmen über die Datenformate macht) . Ich finde zum Beispiel routinemäßig, dass Felder wie Mitarbeiter-IDs oder SSNs beim Speichern aus Excel führende Nullen entfernt bekommen, weil angenommen wird, dass es sich um numerische Spalten handelt.
Chris W. Rea
Ja, ein fairer Punkt. Sie können das Problem beheben, indem Sie den Spaltentyp angeben (z. B. Text für eine Spalte mit IDs / SSNs mit führenden Nullen). Dies muss jedoch beim Öffnen der Datei manuell erfolgen. Aber wenn andere CSV-Editoren die Dateigröße einschränken, lohnt sich die zusätzliche Wachsamkeit, die beim Durchlaufen von Excel erforderlich ist.
Mike Fitzpatrick
Ich hatte gehofft, dass die 64-Bit-Version von Excel die Lösung sein würde, aber leider hat sie das gleiche Zeilenlimit wie die 32-Bit-Version: 1.048.576. Der einzige Unterschied zwischen den beiden ist, dass 64 Dateien größer als 2 GB verarbeiten können
atraudes