Parse a csv file where field values are enclosed by quotation marks and contain carriage return

Here is a csv file. Its 3rd column contains strings of a special format – they are enclosed by double quotation marks and some occupy multiple rows (which means they contain carriage return).

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

Task: Use Java to reorganize the csv file as a standard two-dimensional table.

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

Write the following SPL statement:

=file(""data.csv"").import@tcoq().run(description=replace(description,""\n"",""""))

import() function parses the csv file as a two dimensional table; @t option enables importing the 1st row as column names, @c option enables using commas as the separator, @o option handles the unescaped carriage return in lines, and @q option enables removing quotation marks at both sides before parsing. run() function modifies the two dimensional table and return the modified table.

Read How to Call a SPL Script in Java to find how to integrate SPL into a Java application.
Source:
https://stackoverflow.com/questions/72844595/parsing-double-quote-with-new-line-from-csv-using-jackson-dataformat-csv