Java 做 wordcount

有个 3 列的 csv 文件

title,text,date

exampleTitle,This is is is an example example, April 2022

The 2nd Title,This this is an an example 4 K k,April 2023

用 Java 实现:遍历每一行,每次先输出第 1 列,再将第 2 列拆分为单词,输出每个单词的出现次数。要求不统计数字,不统计单个字母,仅大小写不同的单词算一个单词。上面计算结果应当是:

exampleTitle

an 1

example 2

is 3

this 1

The 2nd Title

an 2

example 1

is 1

this 2

编写SPL脚本:


A

B

1

for T("data.csv")

>output(A1.title)

2


=A1.text.words().(lower(~))

3


=B2.groups(~;count(1))

4


=B3.select(len(#1)>1)

5


>output(B4.export())

A1:将csv解析为二维表,并循环每一行。

B2:将text列拆分单词,并转为小写。

B3:统计每个单词的出现次数。

B4:过滤出字符数大于1的单词。

Java 集成 SPL 可参考 Java 如何调用 SPL 脚本
问题来源:https://stackoverflow.com/questions/71804040/how-do-i-count-word-occurrences-in-a-csv-file