Compatible Doclog docs for library(csv)

This commit is contained in:
Adrián Arroyo Calle
2023-01-29 22:36:16 +01:00
parent 5a28366158
commit f347baafa3

View File

@@ -1,54 +1,67 @@
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** Predicates for parsing CSV data
Predicates for parsing CSV data
## Read CSV files.
Read csv files Only two options with default values:
Only two options with default values : - `token_separator(',')`
- token_separator(',') - `with_header(true)`
- with_header(true)
Examples ### Examples:
* parsing a csv string: Parsing a CSV string:
?- use_module(library(csv)). ```
?- use_module(library(dcgs)). ?- use_module(library(csv)).
?- phrase(parse_csv(Data), "col1,col2,col3,col4\none,2,,three"). ?- use_module(library(dcgs)).
?- phrase(parse_csv(Data), "col1,col2,col3,col4\none,2,,three").
Data = frame(["col1","col2","col3","col4"],[["one",2,[],"three"]]). Data = frame(["col1","col2","col3","col4"],[["one",2,[],"three"]]).
```
* with some options: With some options:
?- phrase(parse_csv(Data, [with_header(false), token_separator(';')]), "one;2;;three"). ```
?- phrase(parse_csv(Data, [with_header(false), token_separator(';')]), "one;2;;three").
Data = frame([],[["one",2,[],"three"]]). Data = frame([],[["one",2,[],"three"]]).
```
* parsing a csv file: Parsing a CSV file:
?- use_module(library(csv)). ```
?- use_module(library(pio)). ?- use_module(library(csv)).
?- phrase_from_file(parse_csv(frame(Header, Rows)), './test.csv'). ?- use_module(library(pio)).
?- phrase_from_file(parse_csv(frame(Header, Rows)), './test.csv').
```
## Write CSV files
Write csv files Four options with default values :
Four options with default values : - `line_separator('\n')`
- line_separator('\n') - `token_separator(',')`
- token_separator(',') - `with_header(true)`
- with_header(true) - `null_value(empty)`
- null_value(empty)
Examples ### Examples
* writing a csv file: Writing a CSV file:
?- use_module(library(csv)). ```
?- write_csv('./test.csv', frame(["col1","col2","col3","col4"], [["one",2,[],"three"]])). ?- use_module(library(csv)).
?- write_csv('./test.csv', frame(["col1","col2","col3","col4"], [["one",2,[],"three"]])).
```
* with some options With some options
?- use_module(library(csv)). ```
?- write_csv('./test.csv', frame(["col1","col2","col3","col4"], [["one",2,[],"three"]]), [with_header(false), line_separator('\r\n'), token_separator(';'), null_value('\\N')]). ?- use_module(library(csv)).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ ?- write_csv('./test.csv', frame(
["col1","col2","col3","col4"],
[["one",2,[],"three"]]
),
[with_header(false), line_separator('\r\n'), token_separator(';'), null_value('\\N')]).
```
*/
:- module(csv, [ :- module(csv, [
parse_csv//1, parse_csv//1,