读入后按列分组统计

【问题】

3 10 11 21 30 34 36 40 41 53 58 64 68 76 85 87 91 94 101 104 116 123
3 10 20 21 23 34 36 39 41 53 56 64 68 76 85 87 91 94 101 105 115 119
1 10 19 21 24 34 36 39 42 53 56 64 68 76 85 87 91 94 101 105 115 121
3 9 19 21 30 34 36 40 42 53 58 64 68 76 85 87 91 94 101 104 116 123
3 10 14 22 29 34 37 39 41 54 58 64 68 76 85 87 91 94 97 105 113 119
3 9 20 21 23 34 36 39 42 53 56 64 68 76 85 87 91 94 101 104 115 119
1 10 19 21 23 34 36 39 45 53 56 64 68 76 85 87 91 94 101 104 115 121

上面是要处理的 txt 文件  
谁能告诉我怎么编写个程序实现查找统计  
就是按列来分析  
比方第一列, 3 的个数是 5 1 的个数是 2 ,然后再第二列 10 的个数是 5…… 
然后输出每个数及其个数?  
谢谢

【回答】

JAVA进行批量数据计算比较复杂,用SPL简单很多:


A

1

=file("E:\\s.txt").import(;," ")

2

=A1.fno().(A1.field(~).groups(~:no;count(~):count))

3

=A2.news(~;A2.#:,no:数字,count:个数)

 

A1:读取s.txt文件内容。

A2:对每一列进行处理,分别生成一个由nocount组成的二维表,表数据内容为该列出现的数字和该数字出现的次数。

A3:由A2生成一个字段名为列、数字和个数的二维表,结果如下:

undefined

SPL脚本还可以嵌入JAVA程序中使用(参考Java 如何调用 SPL 脚本