CSV Parser for Common Lisp
Parsing a CSV is simply a matter of calling
(parse-csv string &optional source) ;=> list
It is always assumes that the CSV is multi-line, so the result is a list of lists, where each inner list is a record of cells.
CL-USER > (parse-csv "1,2,3") (("1" "2" "3"))
Generating a CSV string from Lisp is done with the
(format-csv record &optional stream) ;=> string
The record parameter should be a list of cells and not a list of records.
CL-USER > (format-csv '(1 "Hello, world" 2)) "1,\"Hello, world\",2"