某 csv 文件的第 3 列是特殊的字符串:两端有引号,被拆分为多行(相当于用回车分隔)。
id,name,description,age 23,Anna,"Self-made Chef Shoemaker",23 1,Lily,"One Way go far",24 2,Joe,"Go aHead",55 3,Bat,"A fried",41 |
要求:用 Java 整理成规范的二维表。
id | name | description | age |
23 | Anna | Self-made Chef Shoemaker | 23 |
1 | Lily | One Way go far | 24 |
2 | Joe | Go aHead | 55 |
3 | Bat | A fried | 41 |
编写SPL语句:
=file(""data.csv"").import@tcoq().run(description=replace(description,""\n"","" ""))
函数import将文件解析为二维表,@t表示首行为列名,@c表示csv的分隔符逗号,@o表示处理行中未转义的回车符,@q表示拆掉两端的引号再解析。run可修改并返回修改后的二维表。
Java 集成 SPL 可参考 Java 如何调用 SPL 脚本