|
|
|
@ -10,14 +10,17 @@ Guile csv reader
|
|
|
|
sudo make install
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
|
|
|
|
* read csv
|
|
|
|
* read csv
|
|
|
|
|
|
|
|
```scheme
|
|
|
|
(use-modules (csv))
|
|
|
|
(use-modules (csv))
|
|
|
|
(define my-csv-reader (make-csv-reader #:\,))
|
|
|
|
(define my-csv-reader (make-csv-reader #:\,))
|
|
|
|
(call-with-input-file "file.csv" my-csv-reader)
|
|
|
|
(call-with-input-file "file.csv" my-csv-reader)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
* csv->xml
|
|
|
|
* csv->xml
|
|
|
|
(call-with-input-file "file.xml" csv->xml)
|
|
|
|
(call-with-input-file "file.xml" csv->xml)
|
|
|
|
|
|
|
|
|
|
|
|
and file.xml could be:
|
|
|
|
and file.xml could be:
|
|
|
|
|
|
|
|
```xml
|
|
|
|
<record-0>
|
|
|
|
<record-0>
|
|
|
|
<name>aaa</name>
|
|
|
|
<name>aaa</name>
|
|
|
|
<age>11</age>
|
|
|
|
<age>11</age>
|
|
|
|
@ -28,8 +31,10 @@ and file.xml could be:
|
|
|
|
<age>12</age>
|
|
|
|
<age>12</age>
|
|
|
|
<email>bbb@bbb.com</email>
|
|
|
|
<email>bbb@bbb.com</email>
|
|
|
|
</record-1>
|
|
|
|
</record-1>
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
* sxml->csv or csv-write to output a csv format file
|
|
|
|
* sxml->csv or csv-write to output a csv format file
|
|
|
|
|
|
|
|
```scheme
|
|
|
|
(call-with-output-file "file.csv"
|
|
|
|
(call-with-output-file "file.csv"
|
|
|
|
(lambda (port)
|
|
|
|
(lambda (port)
|
|
|
|
(sxml->csv
|
|
|
|
(sxml->csv
|
|
|
|
@ -37,9 +42,9 @@ and file.xml could be:
|
|
|
|
port)))
|
|
|
|
port)))
|
|
|
|
|
|
|
|
|
|
|
|
and file.csv would be:
|
|
|
|
and file.csv would be:
|
|
|
|
|
|
|
|
```csv
|
|
|
|
name,age,email
|
|
|
|
name,age,email
|
|
|
|
aaa,11,aaa@aaa.com
|
|
|
|
aaa,11,aaa@aaa.com
|
|
|
|
bbb,12,bbb@bbb.com
|
|
|
|
bbb,12,bbb@bbb.com
|
|
|
|
|
|
|
|
```
|
|
|
|
Enjoy!
|
|
|
|
Enjoy!
|
|
|
|
|