Was ist ein guter Weg, um CSV-Dateien in Ubuntu zu bearbeiten?
Die Dateien sehen ungefähr so aus:
This,is,data,with,a,header
2,2,3,4,,
1,,3,,6,6
,5,3,5,5,6
1,2,,,,
1,2,3,4,8,6
1,,9,,5,9
-1,,3,4,5,6
1,2,0,4,5,6
Ich habe OpenOffice verwendet, aber es dauert ungefähr 5 Klicks, um das Standardverhalten beim Zitieren aller Felder zu deaktivieren.
Ich möchte etwas Leichtes und Benutzerfreundliches finden, das das Einfügen / Löschen von Daten und das spaltenbasierte Sortieren ermöglicht.
ubuntu
text-editors
csv
Andrew Wood
quelle
quelle
Die Java-CsvEditors (z. B. csveditor , reCsvEditor ) sind möglicherweise einen Blick wert
quelle
Sie können zu diesem Zweck gnumerisch verwenden. Auf meinem System (Crunchbang) und mit einer Datei, die so klein ist wie in Ihrem Beispiel, verbraucht Leafpad etwa 2 MB RAM. gnumerisch, 4 M; und Scalc (von LibreOffice), 34M. Gnumeric befindet sich eindeutig am leichtgewichtigen Ende und sollte Ihr Trennzeichen beim Öffnen der Datei korrekt erkennen.
Aber (es gibt ein aber ...) Gnumeric lässt Sie die geänderte Datei nicht speichern, ohne eine Hürde von Menüs zu durchlaufen. Was folgt, ist ein BASH-Skript, um dies zu beheben. Das Skript basiert auf xsel (einem einfachen Befehlszeilen-Manager für Befehlszeilen), um den geänderten Tabelleninhalt wieder in Ihre Datei einzufügen. Wenn sourced (nicht ausgeführt), gibt das Skript , das Sie zwei Funktionen zuzugreifen, gn die Datei in gnumeric zu öffnen:
gn filename
und gp, um den Inhalt wieder in die Datei einzufügen und gnumeric zu schließen:
gp
(Ich persönlich beziehe dieses Skript in meiner .bashrc-Datei, damit die Funktionen gn und gp verfügbar sind, wenn ich ein Terminal öffne.)
Wie das Skript selbst beim Öffnen Ihrer Datei mit gnumerisch anzeigt, müssen Sie nach Abschluss der Bearbeitung den Teil der Tabelle auswählen, den Sie speichern möchten, bevor Sie Strg-C drücken (um diesen Teil in die Zwischenablage zu kopieren). Wenn Sie zur Befehlszeile (Alt-Tab) zurückkehren und gp eingeben, wird Ihre Datei mit dem Inhalt der Zwischenablage aktualisiert und gnumerisch geschlossen. Ihre geänderten Werte werden nicht in Anführungszeichen gesetzt, sondern durch Tabulatoren getrennt. Daher verwendet das Skript sed, um Tabulatoren durch Kommas zu ersetzen.
Ich habe festgestellt, dass dies eine effiziente Möglichkeit ist, CSV-Datendateien über die Befehlszeile zu bearbeiten. Das Skript sollte die Datei korrekt speichern, solange sie keine Tabulatoren in den durch Kommas getrennten Feldern enthält (was in Ihrem Beispiel für die Datenanalyse der Fall zu sein scheint).
quelle
Ich weiß, was Sie mit {Libre, Open} Office meinen. TBH, ich habe unter Linux nie etwas wirklich Gutes gefunden, das auch leicht ist.
Das "Beste" (ja, in ironischen Anführungszeichen), das ich bisher gefunden habe, ist eine Java-App namens csveditor. Sie ist ziemlich sauber, folgt aber nicht wirklich den besten UI-Richtlinien.
quelle
Ich benutze DMcsvEditor . Es ist schnell und leicht und bietet einige grundlegende nützliche Optionen.
quelle
Ich benutze phpstorm und muss mich viel mit CSV-Dateien beschäftigen. Es unterstützt das Bearbeiten in einer Tabellenansicht und bietet eine viel bessere Leistung als das vim-Plugin csv.vim oder das Atom-Plugin tablr.
Gleiches sollte für die anderen Editoren gelten, z. B. IntelliJ Idea, Android Studio, Pycharm und RubyMine. Es ist keine freie Software, aber einige ihrer Produkte haben Community-Editionen.
(Trotzdem ist es nicht perfekt, da manchmal nur zu große Fehler in der Datei angezeigt werden.)
quelle
Ich schlage das Tablr-Plugin für den Atom-Editor vor.
Es ist nicht die leichteste Option, erzielt jedoch einfache Änderungen mit wenigen Klicks.
quelle
Ich habe Ihr Beispiel als test.csv gespeichert und es mit LibreOffice ohne Probleme geöffnet:
Ich habe dann diesen Dialog erhalten und "Komma" als Trennzeichen gewählt:
Ich klickte auf OK und bekam Folgendes:
Was brauchst du mehr?
quelle
gawk
:)