用于操纵CSV的命令行工具

时间:2015-02-04 17:25:36

标签: unix csv command-line-interface

我有一个很大的CSV文件,如下所示:

id,date,user,points
32,2006-10-10T15:43:00Z,alice,5
37,2006-10-10T20:13:54Z,bob,12
38,2006-10-10T20:44:53Z,alice,7
39,2006-10-10T20:55:50Z,john,4
40,2006-10-10T20:59:01Z,john,8
42,2006-10-11T02:10:01Z,alice,16
....

我想知道有没有任何命令行实用程序来操作这个csv来从这些数据构建一种数据透视表,例如快速获得每个用户的总点数。

我知道编写一个小脚本是完全可行的,但知道awkgrep有多强大,我期待这种类型的数据操作有类似的解决方案。

非常感谢你的帮助

2 个答案:

答案 0 :(得分:0)

看看Ftable,它是一个没有外部依赖关系的单片perl脚本。

Donwload,让它可执行并运行。很容易。

答案 1 :(得分:0)

Tabulator是一组unix命令行工具,用于处理带有标题行的分隔文件。假设您的文件名为test.csv.然后

tblred -uk user -c'sum_points=sum(points)' alice.csv

产生

user,sum_points
alice,28.0
bob,12.0
john,12.0