Кто-нибудь знает о средстве просмотра CSV из командной строки для Linux / OS X? Я думаю о чем-то подобном, less
но это расставляет колонки более читабельным образом. (Я бы хотел открыть его с помощью OpenOffice Calc или Excel, но это слишком сильно для того, чтобы просто смотреть на данные, как мне нужно.) Было бы здорово иметь горизонтальную и вертикальную прокрутку.
linux
macos
command-line
csv
Бенджамин Оукс
источник
источник
Ответы:
Вы также можете использовать это:
column
это стандартная Unix-программа, которая очень удобна - она находит соответствующую ширину каждого столбца и отображает текст в виде красиво отформатированной таблицы.Примечание: если у вас есть пустые поля, вам нужно поместить в них какой-то заполнитель, иначе столбец объединяется со следующими столбцами. В следующем примере показано, как использовать
sed
для вставки заполнителя:Обратите внимание, что замена
,,
for, ,
выполняется дважды. Если вы сделаете это только один раз,1,,,4
станет,1, ,,4
поскольку вторая запятая уже совпадает.источник
column
. Я закончил тем, что сделал это коротким сценарием оболочки (большая часть которого - шаблон «как я это использую?» И код проверки ошибок). 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.
Вы можете установить
csvtool
(на Ubuntu) черези затем запустите:
Это сделает его красивым внутри экземпляра vim только для чтения, даже если у вас есть несколько ячеек с очень длинными значениями.
источник
ocaml-csv
пакетеbase
для меня в Centos7Посмотрите на csvkit . Он предоставляет набор инструментов, которые соответствуют философии UNIX (то есть, они маленькие, простые, одноцелевые и могут комбинироваться).
Вот пример, который извлекает десять самых густонаселенных городов Германии из бесплатной базы данных Maxmind World Cities и отображает результат в читаемом с консоли формате:
Csvkit не зависит от платформы, потому что он написан на Python.
источник
pip install csvkit
. Наслаждайтесь!Tabview: облегченная программа Python curses для командной строки Просмотрщик файлов CSV (а также другие табличные данные Python, такие как список списков) находятся здесь на Github
Особенности:
источник
Если вы vimmer, используйте плагин CSV , который очень красив .
источник
Пакет nodejs tecfu / tty-table может быть установлен глобально, чтобы сделать именно это:
Он также может обрабатывать потоки.
Для получения дополнительной информации см. Документацию по использованию терминала здесь .
источник
XSV больше, чем зритель. Я рекомендую его для большинства задач CSV в командной строке, особенно при работе с большими наборами данных.
источник
Мой проект FOSS CSVfix позволяет отображать файлы CSV в табличном формате «ASCII art».
источник
Ответ Ofri дает вам все, что вы просили. Но ... если вы не хотите помнить команду, вы можете добавить это в ваш ~ / .bashrc (или эквивалентный):
Это то же самое, что и ответ Офри, за исключением того, что я обернул его в функцию оболочки и использую
less -S
опцию, чтобы остановить перенос строк (делаетless
поведение более похожим на office / oocalc).Откройте новую оболочку (или введите
source ~/.bashrc
текущую оболочку) и выполните команду, используя:csview <filename>
источник
Я долго пользовался ответом Писвиллиса.
Но затем объединил некоторый код, который я нашел на http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line, который лучше работает для меня:
Причина, по которой он работает лучше для меня, заключается в том, что он лучше обрабатывает широкие столбцы.
источник
tblless
в пакет Tabulator переносится команда unixcolumn
, а также выравнивается числовые столбцы.источник
Вот (возможно, тоже) простой вариант:
источник
Еще один многофункциональный инструмент манипуляции CSV (и не только): Миллер . Исходя из собственного описания, он похож на awk, sed, cut, join и sort для индексированных по имени данных, таких как CSV, TSV и табличный JSON. (ссылка на репозиторий github: https://github.com/johnkerl/miller )
источник
Я написал этот файл csv_view.sh для форматирования CSV из командной строки, он читает весь файл, чтобы определить оптимальную ширину каждого столбца (требуется perl, предполагается, что в полях нет запятых, также используется меньше):
источник
Используя TxtSushi вы можете сделать:
источник
Tabview действительно хорош. Работал с более чем 200 МБ файлами, которые отображались с ошибками в LibreOffice, а также с плагином csv в gvim.
Версия Anaconda доступна здесь: https://anaconda.org/bioconda/tabview
источник
Я создал tablign для этих (и других) целей. Установить с
и
Также работает, если данные разделены чем-то еще, кроме запятых. Самое главное, что он сохраняет разделители, поэтому вы также можете использовать его для стилизации таблиц ASCII без ущерба для синтаксиса [Markdown, CSV, LaTeX].
источник
Collecting tablify Could not find a version that satisfies the requirement tablify (from versions: ) No matching distribution found for tablify
tablign
. Исправлено в описании.Я написал скрипт, viewtab , в Groovy именно для этой цели. Вы вызываете это как:
По сути, это сверхлегкая электронная таблица, которая может быть вызвана из командной строки, обрабатывает файлы в формате CSV и табуляции, может читать ОЧЕНЬ большие файлы, которые задыхаются в Excel и Numbers, и очень быстрая. Это не командная строка в том смысле, что она предназначена только для текста, но она не зависит от платформы и, вероятно, подойдет для многих людей, которые ищут решение проблемы быстрой проверки большого или большого количества файлов CSV при работе в среде командной строки. ,
Сценарий и порядок его установки описаны здесь:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
источник
В python есть короткий скрипт командной строки: https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
Просто скачайте и разместите на своем пути. Использование это как
Конвертировать CSV-файл в
csv-file-path
форму ascii, возвращая результат на стандартный вывод. Еслиcsv-file-path
= '-', тогда читайте из стандартного ввода.Параметры:
источник