对 csv 文件中的数据进行分组汇总

对 csv 文件中的数据进行分组汇总

例题描述和简单分析

有 csv 文件 sample.csv,如下:

City,Year,Income

Delhi,2001,12345

Mumbai,2001,43211

Hyderabad,2001,54322

Delhi,2002,76543

Mumbai,2002,43211

Hyderabad,2002,54322

Bangalore,2001,43211

Bangalore,2001,54322

需要按 City 分组,求 Income 的平均值,结果如下:

Bangalore - 48766

Delhi - 44444

Hyderabad - 54322

Mumbai - 43211

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=file("city.csv").import@ct()

2

=A1.groups(City;int(avg(Income))).(#1/" - "/#2)

简要说明:

A1  读取带表头的 csv 文件

A2  按 City 分组,求均值,再将分组后的序表整成需要的输出格式

JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》

问答搜集

https://stackoverflow.com/questions/60948224/approach-to-find-average-by-x-from-a-file