 [det]csv(?Rows)
[det]csv(?Rows)//
[det]csv(?Rows, 
+Options)//Prolog DCG to `read/write' CSV data. Options:
- separator(+Code)
- The comma-separator. Must be a character code. Default is (of course) 
the comma. Character codes can be specified using the 0' notion. E.g., 
using separator(0';)parses a semicolon separated file.
- ignore_quotes(+Boolean)
- If true(default false), threat double quotes as a normal 
character.
- strip(+Boolean)
- If true(defaultfalse), strip leading and 
trailing blank space. RFC4180 says that blank space is part of the data.
- convert(+Boolean)
- If true(default), use name/2 
on the field data. This translates the field into a number if possible.
- case(+Action)
- If down, downcase atomic values. Ifup, upcase 
them and ifpreserve(default), do not change the case.
- functor(+Atom)
- Functor to use for creating row terms. Default is row.
- arity(?Arity)
- Number of fields in each row. This predicate raises a domain_error(row_arity(Expected), Found)if a row is found with different arity.
- match_arity(+Boolean)
- If false(defaulttrue), do not reject CSV 
files where lines provide a varying number of fields (columns). This can 
be a work-around to use some incorrect CSV files.