解析有引号的文本文件

有个分号分隔的 csv 文件,第 1 列有引号,内部也有分号。

cars;countries;grades;color;speed

"car1;car2;car3;car4;car5;car6;car7;car8;car8";USA;26;green;230

"car11;car12;car13;car14;car15;car16;car17;car18;car18";CHINA;23;red;190

请用 Java 把它解析为规范的二维表,以便后续查询。


cars

countries

grades

color

speed

1

"car1;car2;car3;car4;car5;car6;car7;car8;car8"

USA

26

green

230

2

"car11;car12;car13;car14;car15;car16;car17;car18;car18"

CHINA

23

red

190

编写SPL代码:

=file(\"data.csv\").import@tp(;,\";\")

函数 import 将文本文件解析为二维表,@t 表示带表头,@p 表示解析时处理特殊符号(引号、括号)的匹配,内部的分隔符不算。

Java 集成 SPL 可参考 Java 如何调用 SPL 脚本

问题来源:https://stackoverflow.com/questions/72412780/reading-csv-files-when-having-double-quotes-in-a-value