Frage

Gibt es gute Programme zum Lesen großer CSV-Dateien?Einige der Datendateien, mit denen ich arbeite, liegen im 1-GB-Bereich.Sie haben zu viele Zeilen, als dass Excel sie überhaupt verarbeiten könnte.Die Verwendung von Access kann etwas langsam sein, da Sie sie tatsächlich in eine Datenbank importieren müssen, um direkt mit ihnen arbeiten zu können.Gibt es ein Programm, das große CSV-Dateien öffnen und Ihnen ein einfaches Tabellenlayout bieten kann, damit Sie die Daten einfach und schnell durchsuchen können?

War es hilfreich?

Lösung

MySQL kann mit dem sehr schnell CSV-Dateien in Tabellen importieren LOAD DATA INFILE Befehl.Es kann auch direkt aus CSV-Dateien lesen und dabei jegliche Importprozeduren umgehen, indem es verwendet wird CSV-Speicher-Engine.

Importieren Sie es in native Tabellen mit LOAD DATA INFILE Es fallen zwar Startkosten an, aber danach können Sie es tun INSERT/UPDATE viel schneller, ebenso wie Indexfelder.Die Verwendung der CSV-Speicher-Engine erfolgt zunächst fast augenblicklich, aber nur der sequentielle Scan ist schnell.

Aktualisieren: Dieser Artikel (Scrollen Sie nach unten zum Abschnitt mit dem Titel Sofortiges Laden von Daten) spricht über die Verwendung beider Ansätze zum Laden von CSV-Daten auf MySQL und gibt Beispiele.

Andere Tipps

Ich habe gefunden reCSVeditor ist ein großartiges Programm zum Bearbeiten großer CSV-Dateien.Es ist ideal zum Entfernen unnötiger Spalten.Ich habe es problemlos für 1.000.000 Dateien verwendet.

vBearbeiten ist dafür super.Ich öffne routinemäßig Dateien mit mehr als 100 Megabyte (ich weiß, Sie haben gesagt, bis zu einem Gigabyte, ich glaube, auf ihrer Website wird damit geworben, dass es das Doppelte verarbeiten kann).Es bietet Regex-Unterstützung und viele andere Funktionen.70 Dollar sind günstig für den Betrag, den man damit machen kann.

GVim kann so große Dateien kostenlos verarbeiten, wenn Sie nicht an eine echte Tabellenkalkulationsansicht mit statischer Feldgröße angeschlossen sind.

vEdit ist großartig, aber vergessen Sie nicht, dass Sie jederzeit zu den „Grundlagen“ zurückkehren können Cygwin und fange an zu grübeln.

Hilfreiche Befehle

  • grep
  • Kopf
  • Schwanz
  • natürlich perl!

Es hängt davon ab, was Sie tatsächlich mit den Daten machen möchten.Bei einer solchen großen Textdatei möchten Sie in der Regel immer nur eine kleinere Teilmenge der Daten auf einmal haben. Übersehen Sie also nicht Tools wie „grep“, mit denen Sie die Teile herausziehen können, nach denen Sie suchen und mit denen Sie arbeiten möchten.

Wenn Sie die Daten in den Speicher passen und Ihnen Python gefällt, empfehle ich Ihnen, sich den UniTable-Teil von anzusehen Augustus.(Haftungsausschluss:Augustus ist Open Source (GPLv2), aber ich arbeite für die Firma, die es schreibt.)

Es ist nicht sehr gut dokumentiert, aber das sollte Ihnen den Einstieg erleichtern.

from augustus.kernel.unitable import *
a = UniTable().from_csv_file('filename')
b = a.subtbl(a['key'] == some_value) #creates a subtable

Sie erhalten nicht direkt eine Excel-ähnliche Benutzeroberfläche, aber mit ein wenig Arbeit können Sie schnell viele Statistiken erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top