READ-CSV-FILE (PATHNAME &REST KEYS &KEY ELEMENT-TYPE EXTERNAL-FORMAT)
Open the file designated by PATHNAME, using the provided keys if any, and call READ-CSV-STREAM on it.
Read one line from STREAM in CSV format, using the current syntax parameters. Return a list of strings, one for each field in the line. Entries are read as strings; it is up to you to interpret the strings as whatever you want.
Read lines from STREAM in CSV format, using the current syntax parameters. Return a list of list of strings, one entry for each line, that contains one entry for each field. Entries are read as strings; it is up to you to interpret the strings as whatever you want.
WRITE-CSV-LINE (FIELDS STREAM)
Format one line of FIELDS to STREAM in CSV format, using the current syntax parameters.
WRITE-CSV-LINES (LINES STREAM)
Given a list of LINES, each of them a list of fields, and a STREAM, format those lines as CSV according to the current syntax parameters.
Is character C some kind of white space? NB: this only handles a tiny subset of whitespace characters, even if restricted to ASCII. However, it's rather portable, and is what the creativyst document specifies. Be careful to not skip a separator, as it could be e.g. a tab!
ACCEPT (X STREAM)
ACCEPT-P (X STREAM)
WRITE-CSV-FIELD (FIELD STREAM)
WRITE-CSV-STRING-SAFELY (STRING STREAM)
WRITE-QUOTED-STRING (STRING STREAM)
WITH-CREATIVYST-CSV-SYNTAX ((&OPTIONAL) &BODY BODY)
bind CSV syntax parameters to the CREATIVYST standard around evaluation of BODY
WITH-RFC4180-CSV-SYNTAX ((&OPTIONAL) &BODY BODY)
bind CSV syntax parameters to the RFC 4180 standard around evaluation of BODY
WITH-STRICT-RFC4180-CSV-SYNTAX ((&OPTIONAL) &BODY BODY)
bind CSV syntax parameters to the strict RFC 4180 standard around evaluation of BODY, forcing CRLF as line ending and disallowing binary data amongst values
DEFSUBST (NAME ARGLIST &BODY BODY)
Declare an inline defun.
do we accept non-ascii data?
line ending when exporting CSV
when parsing, include meta information?
acceptable line endings when importing CSV
can quotes appear anywhere in a field?
delimiter of string data; pascal-like quoted as double itself in a string.
Separator between CSV fields
shall we skip unquoted whitespace around separators?
does a pair of quotes represent a quote outside of quotes? M$, RFC says NIL, csv.3tcl says T
String containing a CR (Carriage Return)
String containing a CRLF line termination
String containing a LF (Linefeed)
internal: do we accept cr?
internal: do we accept crlf?
internal: do we accept lf?