fromString package:spreadsheet

fromString qm sep text parses text into a spreadsheet, using the quotation character qm and the separator character sep.
>>> Spreadsheet.fromString '"' '\t' "\"hello\"\t\"world\"\n\"end\"\n"
Exceptional {exception = Nothing, result = [["hello","world"],["end"]]}

>>> Spreadsheet.fromString '"' ',' "\"hello,world\",\"really\"\n\"end\"\n"
Exceptional {exception = Nothing, result = [["hello,world","really"],["end"]]}

>>> Spreadsheet.fromString '"' ';' "\"hello \"\"world\"\"\"\n\"really\"\n"
Exceptional {exception = Nothing, result = [["hello \"world\""],["really"]]}

>>> Spreadsheet.fromString '"' ',' "\"hello\nworld\"\n"
Exceptional {exception = Nothing, result = [["hello\nworld"]]}
This is a quick hack. It does neither handle field nor line separators within quoted fields. You must provide well-formed CSV content without field and line separators within quotations. Everything else yields an error.
fromString qm sep text parses text into a spreadsheet and additionally returns text that follows after CSV formatted data.