Home / LinuxUser / 2011 / 06 / CSV-Dateien bearbeiten mit dem Record Editor

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(195 Punkte bei 6 Stimmen)
Bezahlstandard
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

AA_patronen_123rf-8710956_YuriyMerzlyakov.jpg

© Yuriy Merzlyakov, 123rf

Starre Struktur

CSV-Dateien bearbeiten mit dem Record Editor

17.05.2011 Beim Austausch von Tabellen dient das CSV-Format als kleinster gemeinsamer Nenner: Viele Programme speichern und importieren derartige Dateien. Komfortabel nachbearbeiten lassen sie sich per Texteditor – oder wesentlich komfortabler mit Record Editor.

Das CSV-Format speichert Tabellen in einer simplen Textdatei. In jeder Zeile liegt genau ein Datensatz, die Feldinhalte trennt jeweils ein Komma (Abbildung 1). Genau diese Konvention gab dem Format auch den Namen "Comma-separated Values" (CSV). Solche CSV-Dateien bieten sich vor allem für den Informationsaustausch zwischen verschiedenen Programmen an, etwa wenn Sie die Adressbuch-Anwendung wechseln oder alle Kontaktdaten auf ein anderes Gerät übernehmen möchten. Bei der Gelegenheit könnten Sie auch gleich noch ein paar Karteileichen entfernen und veraltete Telefonnummern korrigieren. Dazu reicht prinzipiell schon ein simpler Texteditor.

Abbildung 1: Eine typische CSV-Datei: Jede Zeile enthält eine Adresse, deren Komponenten jeweils ein Komma abtrennt. In der ersten Zeile stehen die Spaltenbeschriftungen.

Bei größeren Datenbeständen "verläuft" man sich jedoch schon einmal und zerstört versehentlich die gelegentlich doch etwas kryptischen Inhalte. Es genügt ein fehlendes Komma, und schon wird aus dem Herrn Maier ein Herr Markgrafenstr. mit der Faxnummer (0555) 65 43 21, unter jedoch eigentlich ein Handy wartet. Um das zu vermeiden, könnten Sie die CSV-Datei wieder in eine Tabellenkalkulation importieren, dort die Änderungen vornehmen und alles wieder ins CSV-Format exportieren. Einfacher und schneller geht es jedoch mit dem auf CSV-Dateien spezialisierten Record Editor [1].

Kaffeekränzchen: Record Editor installieren

Um den in Java geschriebenen Record Editor in Betrieb zu nehmen, benötigen Sie eine Java-Laufzeitumgebung (JRE), welche die meisten Distributionen aber von Haus aus mitbringen. Ob das auch das von Ihnen eingesetzte Derivat tut, prüfen Sie auf der Kommandozeile mithilfe des Kommandos java -version nach. Es sollte eine Meldung ähnlich der folgenden ausspucken:

$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.4)
OpenJDK Server VM (build 17.0-b16, mixed mode)

Andernfalls gilt es vorab per Paketmanager eine aktuelle JRE nachzuinstallieren. Ist Java an Bord, holen Sie den Record Editor aus dem Internet – allerdings nicht von der leicht angestaubten Homepage, wo die Links unter Download Versions derzeit ins Leere führen. Die aktuelle Version versteckt sich stattdessen auf einer Sourceforge-Seite [2]. Wechseln Sie dort in das Verzeichnis mit der höchsten Versionsnummer – zu Redaktionsschluss aktuell war Record Editor 0.69.1, den Sie auch auf der Heft-DVD finden. Von den angebotenen Archiven benötigen Sie als Linux-Anwender die Datei RecordEdit_Installer_for_HSQLDB_Version.jar.zip, die Sie nach dem Herunterladen auf die Festplatte entpacken. Im dabei entstandenen Verzeichnis HsqlDB rufen Sie in einem Terminal-Fenster folgenden Befehl auf:

$ java -jar RecordEdit_Installer_for_HSQLDB_0.69.1.jar

Es erscheint jetzt ein kleiner Installationsassistent, in dem Sie auf Next klicken, dann die GPLv3-Lizenz akzeptieren und wieder Next bemühen. Das vorgeschlagene Installationsverzeichnis können Sie für gewöhnlich einfach übernehmen, womit Record Editor in Ihrem Home-Verzeichnis landet. Via Next und OK startet die eigentliche Einrichtung. Nach einem weiteren Klick auf Next bietet der Installer an, Record Editor ins Startmenü zu integrieren und passende Symbole auf dem Desktop anzulegen. Zumindest eine der beiden Möglichkeiten sollten Sie annehmen, da Record Editor aus mehreren Komponenten besteht und sich diese so später einfacher starten lassen. Drei Mal Next und einmal Done schließen die Installation ab. Melden Sie sich jetzt einmal ab und wieder an, was das Startmenü auf den aktuellen Stand bringt.

Dosenöffner

Record Editor bringt eine eigene kleine Datenbank mit, die während des Betriebs im Hintergrund laufen muss. Um sie zu starten, wählen Sie aus dem Startmenü den Punkt RecordEditor - Start Database Server. Alternativ wechseln Sie in einem Terminal ins Record-Editor-Verzeichnis und rufen dort im Ordner lib das Skript StartServer.sh auf. Sobald die Datenbank im Hintergrund läuft, starten Sie Record Editor selbst. Er versteckt sich im Startmenü hinter dem Full Editor. Wollen Sie ihn in einem Terminal aktivieren, wechseln Sie dazu in den Ordner lib des Record-Editor-Verzeichnisses und rufen dort das Skript runFullEditor.sh auf.

Es erscheint das Hauptfenster aus Abbildung 2. Die darin enthaltenen Fenster können Sie unabhängig voneinander verkleinern, vergrößern und schließen, sie bleiben aber grundsätzlich immer innerhalb des Hauptfensters. Im Programm Log gibt Record Editor Status- und Fehlermeldungen aus. Um eine CSV-Datei zu öffnen, wenden Sie sich dem Unterfenster Open File zu. Via Choose File wählen Sie zunächst die entsprechende Datei auf der Festplatte und stellen dann unter System den Punkt CSV ein. In der Ausklappliste Record Layout möchte Record Editor jetzt noch wissen, welchen Aufbau die Datei aufweist.

Abbildung 2: Das Hauptfenster von Record Editor nach dem ersten Start.

Bauhaus

Sofern alle Daten per Komma getrennt sind und in der ersten Zeile der CSV-Datei die Spaltenbeschriftungen stecken (wie in Abbildung 1 Name, Straße, Ort und so weiter), ist der Punkt Comma Delimited, names on the first line genau der Richtige. Verwendet die Datei anstelle der Kommata Tabulatoren, wählen Sie stattdessen Tab Delimited, names on the first line. Weicht sie hingegen von diesen beiden Standardmöglichkeiten ab, stellen Sie Generic CSV - enter details ein. In diesem Fall müssen Sie gleich noch genauere Angaben zum Aufbau der Datei machen (siehe Kasten "(Nicht-)Standard CSV").

TIPP

Öffnen Sie im Zweifelsfall die CSV-Datei mit einem Texteditor, um die Existenz einer Header-Zeile sowie die verwendeten Trennzeichen herauszufinden.

(Nicht-)Standard CSV

Bei CSV handelt es sich mehr um eine schlechte Angewohnheit als um einen Standard, wenn auch RFC 4180 [4] ein mögliches Format beschreibt. Die Erfassung von kommaseparierten Daten stammt noch aus den Zeiten Fortran-befeuerter Großrechner: Schon 1967 unterstützte beispielsweise IBMs OS/360-Mainframe-Betriebssystem CSV. Ein klassisches Beispiel einer CSV-Datei liefert übrigens auch Linux in Form der /etc/passwd mit, in der Doppelpunkte die Werte separieren.

Die in CSV-Dateien zu verwendende Zeichenkodierung ist nicht normiert, jedoch gilt 7-Bit-ASCII als der kleinste gemeinsame Nenner. Der erste Datensatz kann ein Kopfdatensatz sein, der die Spaltennamen definiert. Das zum Trennen der einzelnen Datensätze genutzte Zeichen entspricht dem Zeilenumbruch-Zeichen des Betriebssystems – bei Windows sind es also tatsächlich zwei Zeichen (CR/LF). Als Zeichen zur Trennung von Datenfeldern/Spalten schlägt schon der Formatname das Komma vor, es können dazu jedoch auch Semikolons, Doppelpunkte, Tabulatoren oder Leerzeichen zum Einsatz kommen. Daneben gibt es auch noch eine Spielart mit fester Feldbreite. Um den Trenner auch innerhalb der Daten nutzen zu können (etwa Kommas in Dezimalwerten), gibt es ein Feldbegrenzerzeichen, normalerweise das Anführungszeichen. Kommt der Feldbegrenzer selbst in den Daten vor, muss er als Begrenzer verdoppelt werden.

Nach einem Klick auf Edit erscheint die Tabelle mit allen Datensätzen wie in Abbildung 3. Sofern Sie Generic CSV gewählt haben, präsentiert Ihnen Record Editor zuvor noch das Fenster aus Abbildung 4. Hier stellen Sie zunächst unter Field Separator ein, welches Zeichen die einzelnen Daten in einer Zeile trennt – oft dient dazu statt eines Kommas oder Tabulators ein Strichpunkt. In der Ausklappliste bietet Record Editor die verbreitetsten Trennzeichen an. Sie dürfen aber auch ein beliebiges eigenes in das Eingabefeld rechts daneben eintippen. Ob Sie mit Ihrer Wahl richtig liegen, können Sie im unteren Bereich anhand der eingeblendeten Ergebnisvorschau entscheiden.

Abbildung 3: Das im Record Editor geöffnete Adressbuch aus Abbildung 1.

Abbildung 4: Bei CSV-Dateien, die vom Standard abweichen, müssen Sie den Aufbau selbst vorgeben. Die hier getroffenen Einstellungen führen zur Tabelle im unteren Bereich.

Tabellenkalkulationen verpacken die Inhalte einer Zelle gerne noch in Anführungszeichen. Sofern dies bei Ihrer CSV-Datei der Fall ist, wählen Sie unter Quote Character das dabei verwendete Anführungszeichen. Enthält die erste Zeile wie in Abbildung 1 die Bezeichnungen der Tabellenspalten beziehungsweise Datenfelder, haken Sie noch Fields on First Line ab. Sind alle Angaben korrekt, öffnet ein Klick auf Go die Tabelle in der endgültigen Ansicht aus Abbildung 4.

Über die Symbole rechts oben manipulieren Sie die Tabelle. Das schwarze X ganz rechts löscht beispielsweise den oder die gerade markierten Zeilen, das weiße Blatt legt einen neuen Datensatz an. Mehrere Zeilen wählen Sie bei gedrückter [Strg]-Taste aus. Wenn Sie mit dem Zeiger zwischen die Tabellenspalten fahren und dann die linke Maustaste gedrückt halten, können Sie mit der Maus die Spaltenbreite verändern.

Um ein Zelle zu bearbeiten, klicken Sie sie doppelt darauf und korrigieren den Inhalt. Erscheint Ihnen das zu fummelig, klicken Sie stattdessen auf das leere graue Rechteck ganz links in der Zeile des Datensatzes. Es öffnet sich dann das Fenster aus Abbildung 5. Es zeigt nur die Zeile beziehungsweise den darin gespeicherten Datensatz an. Auch hier genügt ein Doppelklick in ein Feld, um es zu ändern. Mit den großen Pfeilen am unteren Rand blättern Sie zwischen den einzelnen Datensätzen respektive Tabellenzeilen hin- und her.

Abbildung 5: In dieser alternativen Ansicht zeigt Record Editor immer nur einen Datensatz beziehungsweise eine Tabellenzeile an.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

2787 Hits
Wertung: 130 Punkte (6 Stimmen)

Schlecht Gut

Infos zum Autor

Tim Schürmann

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter http://www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Terminator
Viele Terminals im Griff mit Terminator
Tim Schürmann, 07.05.2013 10:57, 1 Kommentare

Wer morgens nach dem Einschalten des Rechners erst einmal mehrere Terminals öffnet und sich diese mühevoll auf dem Bildschirm drapiert, der sollte einen Blick auf Terminator werfen. Das kleine...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...