有人知道Linux/OS X的命令行CSV查看器吗?我在考虑一些更少的东西,但以一种更可读的方式分隔列。(我可以用OpenOffice Calc或Excel打开它,但这对于我需要查看的数据来说太强大了。)有水平和垂直滚动会很棒。
当前回答
还有另一个多功能的CSV(不仅仅是)操作工具:Miller。从它自己的描述来看,它类似于名称索引数据(如CSV、TSV和表格JSON)的awk、sed、cut、join和sort。(链接到github仓库:https://github.com/johnkerl/miller)
其他回答
Tabview:轻量级的python curses命令行CSV文件查看器(以及其他表格式python数据,如列表中的列表)在Github上
特点:
Python 2.7+, 3.x Unicode support Spreadsheet-like view for easily visualizing tabular data Vim-like navigation (h,j,k,l, g(top), G(bottom), 12G goto line 12, m - mark, ' - goto mark, etc.) Toggle persistent header row Dynamically resize column widths and gap Sort ascending or descending by any column. 'Natural' order sort for numeric values. Full-text search, n and p to cycle between search results 'Enter' to view the full cell contents Yank cell contents to clipboard F1 or ? for keybindings Can also use from python command line to visualize any tabular data (e.g. list-of-lists)
看看csvkit。它提供了一组遵循UNIX哲学的工具(这意味着它们很小、简单、用途单一,并且可以组合使用)。
下面是一个例子,它从免费的Maxmind世界城市数据库中提取了德国人口最多的十个城市,并以控制台可读的格式显示结果:
$ csvgrep -e iso-8859-1 -c 1 -m "de" worldcitiespop | csvgrep -c 5 -r "\d+"
| csvsort -r -c 5 -l | csvcut -c 1,2,4,6 | head -n 11 | csvlook
-----------------------------------------------------
| line_number | Country | AccentCity | Population |
-----------------------------------------------------
| 1 | de | Berlin | 3398362 |
| 2 | de | Hamburg | 1733846 |
| 3 | de | Munich | 1246133 |
| 4 | de | Cologne | 968823 |
| 5 | de | Frankfurt | 648034 |
| 6 | de | Dortmund | 594255 |
| 7 | de | Stuttgart | 591688 |
| 8 | de | Düsseldorf | 577139 |
| 9 | de | Essen | 576914 |
| 10 | de | Bremen | 546429 |
-----------------------------------------------------
Csvkit是平台独立的,因为它是用Python编写的。
在python中有一个简短的命令行脚本:https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
只需下载并放置在您的路径。用法就像
csv2ascii.py [options] csv-file-path
转换csv文件在csv-file-path到ascii形式返回的结果 stdout。如果csv-file-path = '-'则从stdin读取。
选项:
-h, --help show this help message and exit -w WIDTH, --width=WIDTH Width of ascii output -c COLUMNS, --columns=COLUMNS Only display this number of columns
为此,我在Groovy中编写了一个脚本viewtab。你可以这样调用它:
viewtab filename.csv
它基本上是一个超轻量级的电子表格,可以从命令行调用,处理CSV和制表符分离的文件,可以读取Excel和Numbers阻塞的非常大的文件,并且非常快。从纯文本的意义上讲,它不是命令行,但它是独立于平台的,可能适合许多人在命令行环境中寻找快速检查许多或大型CSV文件的解决方案。
脚本和如何安装它描述在这里:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
安装csvtool(在Ubuntu上)
sudo apt-get install csvtool
然后运行:
csvtool readable filename | view -
这将使它在只读的vim实例中非常漂亮,即使您有一些具有非常长的值的单元格。
推荐文章
- 如何使用mongoimport导入CSV文件?
- 如何从另一个文件A中删除文件B中出现的行?
- 如何配置Mac OS X术语,使git有颜色?
- 对以制表符分隔的文件进行排序
- 使用sudo时未找到命令
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 我如何确定文件编码在OS X?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 错误:无法在ARM处理器上的Homebrew中安装英特尔默认前缀(/usr/local)
- 如何强制从另一个SSH会话分离屏幕?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- 在Mac OS X上哪里安装Android SDK ?
- Mac/OS X上的/var/lib/docker在哪里
- Linux Bash中双&和分号有什么区别?
- 如何合并2 JSON对象从2个文件使用jq?