Jaki jest dobry sposób edycji plików CSV w Ubuntu?
Pliki wyglądają mniej więcej tak:
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
Korzystam z OpenOffice, ale potrzeba około 5 kliknięć, aby wyłączyć domyślne zachowanie cytowania wszystkich pól.
Chciałbym znaleźć coś lekkiego i łatwego w użyciu, który umożliwi wstawianie / usuwanie danych oraz sortowanie według kolumn.
ubuntu
text-editors
csv
Andrew Wood
źródło
źródło
Java CsvEditors (np. Csveditor , reCsvEditor ) może być warte obejrzenia
źródło
W tym celu możesz użyć gnumeric. W moim systemie (Crunchbang) i przy tak małym pliku jak w twoim przykładzie leafpad zużywa około 2M pamięci RAM; gnumeryczny, 4M; i skalc (z LibreOffice), 34 mln. Gnumeric wyraźnie znajduje się na lekkim końcu i powinien poprawnie wykryć separator podczas otwierania pliku.
Ale (istnieje ...) gnumeric nie pozwoli ci zapisać zmodyfikowanego pliku bez przechodzenia przez przeszkodę w menu. Poniżej znajduje się skrypt BASH, aby to naprawić. Skrypt polega na Xsel (lekkim menedżerze schowka linii poleceń) w celu wklejenia zmodyfikowanej zawartości arkusza kalkulacyjnego z powrotem do pliku. Jeśli źródło (nie jest uruchamiane), ten skrypt daje dostęp do dwóch funkcji, gn, aby otworzyć plik gnumeric:
gn filename
i gp, aby wkleić zawartość z powrotem do pliku i zamknąć gnumeric:
gp
(Osobiście ten skrypt źródłowy umieszczam w moim .bashrc, aby mieć dostęp do funkcji gn i gp przy każdym otwarciu terminala).
Jak sam skrypt powie ci podczas otwierania pliku za pomocą gnumeric, kiedy skończysz edycję, musisz wybrać część arkusza kalkulacyjnego, którą chcesz zapisać przed naciśnięciem Ctr-C (aby skopiować tę część do schowka). Wracając do wiersza poleceń (Alt-Tab), wpisanie gp zaktualizuje plik o zawartość schowka i zamknie gnumeric. Zmodyfikowane wartości nie będą zawierać cudzysłowów, ale będą oddzielone tabulatorami; stąd skrypt używa sed do zamiany tabulatorów na przecinki.
Przekonałem się, że jest to skuteczny sposób pracy na plikach danych CSV z wiersza poleceń. Skrypt powinien poprawnie zapisywać plik, o ile nie zawiera tabulatorów w polach oddzielonych przecinkami (co wydaje się mieć miejsce w przykładzie analizy danych).
źródło
Wiem, co masz na myśli o {Libre, Open} Office. TBH, nigdy nie znalazłem nic dobrego na Linuksie, co byłoby również lekkie.
„Najlepsze” (tak, w ironicznych cytatach), które do tej pory znalazłem, to aplikacja Java o nazwie csveditor. Jest dość czysta, ale tak naprawdę nie jest zgodna z najlepszymi wytycznymi interfejsu użytkownika.
źródło
Używam DMcsvEditor . Jest szybki i lekki i ma kilka podstawowych przydatnych opcji.
źródło
Używam phpstorm i muszę dużo radzić sobie z plikami CSV, obsługuje edycję ich w widoku tabeli i działa znacznie lepiej niż wtyczka vim csv.vim lub tablr wtyczki atomowej.
To samo powinno dotyczyć ich innych edytorów, tj. IntelliJ Idea, Android Studio, Pycharm i RubyMine. To nie jest wolne oprogramowanie, ale niektóre z ich produktów mają wersje społecznościowe.
(Jednak parapet nie jest idealny, ponieważ czasami pokazuje po prostu zbyt duże błędy pliku).
źródło
Sugeruję wtyczkę tablr do edytora Atom.
Nie jest to najlżejsza opcja, ale umożliwia edycję za pomocą kilku kliknięć.
źródło
Zapisałem twój przykład jako test.csv i bez problemu otworzyłem go w LibreOffice:
Następnie dostałem to okno dialogowe i jako separator wybrałem „przecinek”:
Kliknąłem OK i otrzymałem:
Czego więcej potrzebujesz?
źródło
gawk
:)