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.
 
 
Nala Ginrut 82f5019503
Release v0.0.2
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 Release v0.0.2 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!