csv parsing in Guile Scheme
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Mu Lei 55b6e80975
Update README
13 years ago
build-aux Released v0.0.1 13 years ago
.gitignore First commit 13 years ago
AUTHORS Released v0.0.1 13 years ago
COPYING Released v0.0.1 13 years ago
ChangeLog Released v0.0.1 13 years ago
INSTALL Released v0.0.1 13 years ago
Makefile.in Released v0.0.1 13 years ago
NEWS Released v0.0.1 13 years ago
README Update README 13 years ago
README.md Add README.md as a link to avoid some warnning. 13 years ago
configure.ac Released v0.0.1 13 years ago
csv.scm add sxml->csv and csv-write 13 years ago
env Released v0.0.1 13 years ago
env.in Released v0.0.1 13 years ago
pkg-list.scm update manual and version 13 years ago

README.md

guile-csv

Guile csv reader

==USAGE==

  • install ./configure && make sudo make install

  • read csv

(use-modules (csv))
(define my-csv-reader (make-csv-reader #:\,))
(call-with-input-file "file.csv" my-csv-reader)
  • csv->xml
(call-with-input-file "file.xml" csv->xml)

and file.xml could be:

<record-0>
 <name>aaa</name>
 <age>11</age>
 <email>aaa@aaa.com</email>
</record-0>
<record-1>
 <name>bbb</name>
 <age>12</age>
 <email>bbb@bbb.com</email>
</record-1>
  • sxml->csv or csv-write to output a csv format file
(call-with-output-file "file.csv"
 (lambda (port)
  (sxml->csv 
   '((name age email) ("aaa" "11" "aaa@aaa.com") ("bbb" "12" "bbb@bbb.com"))
   port)))

and file.csv would be:

name,age,email
aaa,11,aaa@aaa.com
bbb,12,bbb@bbb.com

Enjoy!