Apa cara yang baik untuk mengedit file CSV di Ubuntu?
File terlihat seperti ini:
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
Saya telah menggunakan OpenOffice, tetapi dibutuhkan sekitar 5 klik untuk mematikan perilaku default mengutip semua kolom.
Saya ingin mencari sesuatu yang ringan dan mudah digunakan yang akan memungkinkan memasukkan / menghapus data, dan penyortiran berbasis kolom.
ubuntu
text-editors
csv
Andrew Wood
sumber
sumber
CsvEditor java (mis. Csveditor , reCsvEditor ) mungkin layak untuk dilihat
sumber
Anda mungkin menggunakan gnumerik untuk tujuan ini. Pada sistem saya (Crunchbang) dan dengan file sekecil pada contoh Anda, leafpad mengkonsumsi sekitar 2M RAM; gnumeric, 4M; dan scalc (dari LibreOffice), 34 jt. Gnumeric jelas berada di ujung yang ringan, dan itu harus mendeteksi pemisah Anda dengan benar saat membuka file.
Tapi (ada tapi ...) gnumeric tidak akan membiarkan Anda menyimpan file yang dimodifikasi tanpa melalui rintangan menu. Berikut ini adalah skrip BASH untuk memperbaikinya. Script ini mengandalkan xsel (clipboard manager commmand-line ringan) untuk menempelkan konten spreadsheet yang dimodifikasi kembali ke file Anda. Jika bersumber (tidak dijalankan), skrip ini memberi Anda akses ke dua fungsi, gn untuk membuka file dalam gnumerik:
gn filename
dan gp untuk menempelkan konten kembali ke file dan tutup gnumeric:
gp
(Secara pribadi, saya sumber skrip ini di .bashrc saya untuk memiliki fungsi gn dan gp tersedia setiap kali saya membuka terminal.)
Karena skrip itu sendiri akan memberi tahu Anda ketika membuka file Anda dengan gnumeric, ketika Anda selesai mengedit, Anda harus memilih bagian dari spreadsheet yang ingin Anda simpan sebelum menekan Rkt-C (untuk menyalin bagian ini ke clipboard). Kembali ke baris perintah (Alt-Tab), memasukkan gp akan memperbarui file Anda dengan isi clipboard dan menutup gnumeric. Nilai Anda yang dimodifikasi tidak akan memiliki tanda kutip di sekitarnya, tetapi akan dipisahkan oleh tab; karenanya, skrip menggunakan sed untuk mengganti tab dengan koma.
Saya menemukan ini sebagai cara yang efisien untuk bekerja pada file data CSV dari baris perintah. Skrip harus menyimpan file dengan benar selama tidak mengandung tab dalam bidang yang dipisahkan koma (yang tampaknya menjadi kasus dalam contoh analisis data Anda).
sumber
Saya tahu apa yang Anda maksud tentang {Libre, Open} Office. TBH, saya tidak pernah menemukan sesuatu yang benar-benar bagus di Linux yang juga ringan.
"Terbaik" (ya, dalam kutipan Ironic) yang saya temukan sejauh ini adalah aplikasi java yang disebut csveditor Ini cukup bersih, tetapi tidak benar-benar mengikuti pedoman UI terbaik.
sumber
Saya menggunakan DMcsvEditor . Ini cepat dan ringan, dan memiliki beberapa opsi dasar yang berguna.
sumber
Saya menggunakan phpstorm dan harus sering berurusan dengan file CSV, dan mendukung pengeditannya dalam tampilan tabel dan kinerjanya jauh lebih baik daripada plugin vim csv.vim atau tablr plugin atom.
Hal yang sama harus berlaku untuk editor mereka yang lain, yaitu IntelliJ Idea, Android Studio, Pycharm, dan RubyMine. Ini bukan perangkat lunak bebas, namun beberapa produk mereka memiliki edisi komunitas.
(Namun masih belum sempurna karena kadang-kadang hanya menunjukkan kesalahan file terlalu besar.)
sumber
Saya sarankan plugin tablr untuk editor Atom.
Ini bukan opsi yang paling ringan tetapi mencapai pengeditan sederhana dalam klik paling sedikit.
sumber
Saya menyimpan contoh Anda sebagai test.csv dan membukanya dengan LibreOffice tanpa kesulitan sama sekali:
Saya kemudian mendapatkan dialog ini, dan memilih "koma" sebagai pemisah:
Saya mengklik OK dan mendapatkan ini:
Apa lagi yang kamu butuhkan?
sumber
gawk
:)