有人知道Linux/OS X的命令行CSV查看器吗?我在考虑一些更少的东西,但以一种更可读的方式分隔列。(我可以用OpenOffice Calc或Excel打开它,但这对于我需要查看的数据来说太强大了。)有水平和垂直滚动会很棒。
当前回答
XSV不仅仅是一个查看器。我推荐它用于命令行上的大多数CSV任务,特别是在处理大型数据集时。
其他回答
安装csvtool(在Ubuntu上)
sudo apt-get install csvtool
然后运行:
csvtool readable filename | view -
这将使它在只读的vim实例中非常漂亮,即使您有一些具有非常长的值的单元格。
你也可以用这个:
column -s, -t < somefile.csv | less -#2 -N -S
Column是一个标准的Unix程序,非常方便——它可以找到每列的适当宽度,并将文本显示为格式良好的表格。
注意:无论何时有空字段,都需要在其中放置某种占位符,否则该列将与后面的列合并。下面的例子演示了如何使用sed插入一个占位符:
$ cat data.csv
1,2,3,4,5
1,,,,5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
$ cat data.csv
1,2,3,4,5
1,,,,5
$ column -s, -t < data.csv
1 2 3 4 5
1 5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
注意,对,,,的替换做了两次。如果只做一次,1…4将变成1,,,4,因为第二个逗号已经匹配了。
这里有一个(可能太)简单的选择:
sed "s/,/\t/g" filename.csv | less
Tabview真的很好。工作200+MB的文件,显示很好,这是与LibreOffice的bug,以及在gvim的csv插件。
Anaconda版本可以在这里找到:https://anaconda.org/bioconda/tabview
奥弗里的回答会告诉你你想要的一切。 但. .如果你不想记住这个命令,你可以把它添加到你的~/。Bashrc(或同等):
csview()
{
local file="$1"
sed "s/,/\t/g" "$file" | less -S
}
这与Ofri的答案完全相同,除了我已经将它包装在一个shell函数中,并且使用less -S选项来停止行包装(使less的行为更像office/oocalc)。
打开一个新的shell(或者输入source ~/。Bashrc在你当前的shell),并运行命令使用:
csview < filename >
推荐文章
- 如何找到Java堆大小和内存使用(Linux)?
- 如何加载一个tsv文件到熊猫数据框架?
- 遍历带空格的文件列表
- 从csv文件创建字典?
- 警告用户/local/mysql/data目录不属于mysql用户
- Bash:无限睡眠(无限阻塞)
- 如何使Python脚本在Linux中像服务或守护进程一样运行
- 如何使用文件的行作为命令的参数?
- time_t最终的类型定义是什么?
- 从url读取csv
- 如何使用cut为分隔符指定更多的空格?
- 在Mac OS X上使用鼠标聚焦(加上自动提升)
- 没有找到Gradlew命令?
- BAT文件:打开新的cmd窗口并在其中执行命令
- 如何在Vim或Linux中将空格转换为制表符?