Adakah yang tahu tentang penampil CSV baris perintah untuk Linux / OS X? Saya sedang memikirkan sesuatu seperti less
tapi itu menghilangkan kolom dengan cara yang lebih mudah dibaca. (Saya akan baik-baik saja dengan membukanya dengan OpenOffice Calc atau Excel, tapi itu terlalu dikuasai untuk hanya melihat data seperti yang saya perlukan.) Memiliki pengguliran horizontal dan vertikal akan sangat bagus.
linux
macos
command-line
csv
Benjamin Oakes
sumber
sumber
Jawaban:
Anda juga dapat menggunakan ini:
column
adalah program unix standar yang sangat nyaman - ia menemukan lebar yang sesuai dari setiap kolom, dan menampilkan teks sebagai tabel yang diformat dengan baik.Catatan: setiap kali Anda memiliki bidang kosong, Anda harus memasukkan semacam placeholder di dalamnya, jika tidak kolom akan digabung dengan kolom berikut. Contoh berikut menunjukkan cara menggunakan
sed
untuk memasukkan placeholder:Perhatikan bahwa penggantian
,,
untuk, ,
dilakukan dua kali. Jika Anda melakukannya hanya sekali,1,,,4
akan menjadi1, ,,4
sejak koma kedua sudah cocok.sumber
column
. Saya akhirnya membuat ini skrip shell pendek (sebagian besar adalah boilerplate "bagaimana saya menggunakannya?" Dan kode pemeriksaan kesalahan). github.com/benjaminoakes/utilities/blob/master/view-csvman column
:-n By default, the column command will merge multiple adjacent delimiters into a single delimiter when using the -t option; this option disables that behavior. This option is a Debian GNU/Linux extension.
Anda dapat menginstal
csvtool
(di Ubuntu) melaluilalu jalankan:
Ini akan membuatnya bagus dan cantik di dalam instance vim read-only, bahkan jika Anda memiliki beberapa sel dengan nilai yang sangat panjang.
sumber
ocaml-csv
paketbase
untuk saya di Centos7Lihatlah csvkit . Ini menyediakan seperangkat alat yang mematuhi filosofi UNIX (artinya mereka kecil, sederhana, bertujuan tunggal dan dapat digabungkan).
Berikut adalah contoh yang mengekstrak sepuluh kota terpadat di Jerman dari basis data Maxmind World Cities gratis dan menampilkan hasilnya dalam format yang dapat dibaca konsol:
Csvkit adalah platform independen karena ditulis dalam Python.
sumber
pip install csvkit
. Nikmati!Tabview: light python curses command line viewer file CSV (dan juga data Python tabular lainnya, seperti daftar daftar) ada di sini di Github
Fitur:
sumber
Jika Anda seorang vimmer, gunakan plugin CSV , yang sangat cantik .
sumber
Paket nodejs tecfu / tty-table dapat diinstal secara global untuk melakukan hal ini:
Itu juga dapat menangani stream.
Untuk info lebih lanjut, lihat dokumen untuk penggunaan terminal di sini .
sumber
xsv lebih dari sekedar penonton. Saya merekomendasikannya untuk sebagian besar tugas CSV di baris perintah, terutama ketika berhadapan dengan kumpulan data besar.
sumber
CSVfix proyek FOSS saya memungkinkan Anda menampilkan file CSV dalam format tabel "ASCII art".
sumber
Jawaban Ofri memberi Anda semua yang Anda minta. Tapi .. jika Anda tidak ingin mengingat perintah Anda dapat menambahkan ini ke ~ / .bashrc Anda (atau yang setara):
Ini persis sama dengan jawaban Ofri kecuali saya telah membungkusnya dalam fungsi shell dan saya menggunakan
less -S
opsi untuk menghentikan pembungkus garis (membuatless
berperilaku lebih seperti kantor / oocalc).Buka shell baru (atau ketik
source ~/.bashrc
shell Anda saat ini) dan jalankan perintah menggunakan:csview <filename>
sumber
Saya menggunakan jawaban pisswillis untuk waktu yang lama.
Tetapi kemudian menggabungkan beberapa kode yang saya temukan di http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line yang berfungsi lebih baik untuk saya:
Alasan kerjanya lebih baik bagi saya adalah bahwa ia menangani kolom lebar dengan lebih baik.
sumber
tblless
dalam paket Tabulator membungkuscolumn
perintah unix , dan juga menyelaraskan kolom angka.sumber
Inilah opsi (mungkin juga) sederhana:
sumber
Namun alat manipulasi CSV multi-fungsional lainnya (dan tidak hanya): Miller . Dari deskripsinya sendiri, itu seperti awk, sed, cut, join, dan mengurutkan untuk data yang diindeks nama seperti CSV, TSV, dan JSON tabular. (tautan ke repositori github: https://github.com/johnkerl/miller )
sumber
Saya menulis csv_view.sh ini untuk memformat CSV dari baris perintah, ini membaca seluruh file untuk mengetahui lebar optimal setiap kolom (perlu perl, anggap tidak ada koma di bidang, juga menggunakan lebih sedikit):
sumber
Menggunakan TxtSushi dapat Anda lakukan:
sumber
Tabview sangat bagus. Bekerja dengan 200 + MB file yang ditampilkan dengan baik yang bermasalah dengan LibreOffice serta plugin csv di gvim.
Versi Anaconda tersedia di sini: https://anaconda.org/bioconda/tabview
sumber
Saya telah membuat tablign untuk tujuan ini (dan lainnya). Instal dengan
dan
Juga berfungsi jika data dipisahkan oleh sesuatu selain koma. Yang paling penting, ini menjaga pembatas sehingga Anda juga dapat menggunakannya untuk menata tabel ASCII Anda tanpa mengorbankan sintaks [Markdown, CSV, LaTeX] Anda.
sumber
Collecting tablify Could not find a version that satisfies the requirement tablify (from versions: ) No matching distribution found for tablify
tablign
. Diperbaiki dalam deskripsi.Saya menulis naskah, viewtab , di Groovy hanya untuk tujuan ini. Anda memohon seperti:
Ini pada dasarnya adalah spreadsheet super-ringan yang dapat dipanggil dari baris perintah, menangani CSV dan file-file yang dipisahkan tab, dapat membaca file SANGAT besar yang dicekik Excel dan Numbers, dan sangat cepat. Ini bukan baris perintah dalam arti hanya teks, tetapi platform independen dan mungkin akan sesuai dengan tagihan bagi banyak orang yang mencari solusi untuk masalah dengan cepat memeriksa banyak atau file CSV besar saat bekerja di lingkungan baris perintah .
Script dan cara menginstalnya dijelaskan di sini:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
sumber
Ada skrip baris perintah pendek ini dalam python: https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
Cukup unduh dan letakkan di jalur Anda. Penggunaannya seperti
Konversikan file csv di
csv-file-path
ke ascii dari mengembalikan hasil pada stdout. Jikacsv-file-path
= '-' maka baca dari stdin.Pilihan:
sumber