29 lines
726 B
Markdown
29 lines
726 B
Markdown
# CSV Module
|
|
|
|
Functions for operating over CSV data.
|
|
|
|
### each-record
|
|
|
|
```
|
|
csv:each-record FILE BLOCK
|
|
```
|
|
|
|
Opens the CSV file at FILE and calls BLOCK on each record. It is expected that this
|
|
CSV file has a header which appears as the first row. This command will read and
|
|
index the header, then start calling BLOCK from the row directly below the header.
|
|
|
|
BLOCK is called with the arguments _|row header|_ where:
|
|
|
|
- _row_ contains the fields of the current row as a list.
|
|
- _header_ contains a hash mapping a header name to a field index.
|
|
|
|
The return value will be nil.
|
|
|
|
```
|
|
csv:each-record "winds.csv" { |row hdr|
|
|
set name $row.($hdr.name)
|
|
set bearing $row.($hdr.bearing)
|
|
|
|
echo "Wind $name has bearing $bearing"
|
|
}
|
|
``` |