diff options
| author | Kenneth Reitz <me@kennethreitz.com> | 2010-09-25 05:49:21 -0400 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.com> | 2010-09-25 05:49:21 -0400 |
| commit | 63d025888aeaf61022524f09d520e4b29687bdc5 (patch) | |
| tree | 8ed36b98dece842a2ba3156aa7f76159ef1d9100 /tablib/formats/_csv.py | |
| parent | 5a993ac281f5dbfd0cee2039c61af0701e5fa323 (diff) | |
| download | tablib-63d025888aeaf61022524f09d520e4b29687bdc5.tar.gz | |
Added format importers.
Diffstat (limited to 'tablib/formats/_csv.py')
| -rw-r--r-- | tablib/formats/_csv.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tablib/formats/_csv.py b/tablib/formats/_csv.py new file mode 100644 index 0000000..0554976 --- /dev/null +++ b/tablib/formats/_csv.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +import cStringIO +import csv +import os + +import simplejson as json + +import tablib + + +title = 'csv' +extentions = ('csv',) + + + +def export_set(dataset): + """Returns CSV representation of Dataset.""" + stream = cStringIO.StringIO() + _csv = csv.writer(stream) + + for row in dataset._package(dicts=False): + _csv.writerow(row) + + return stream.getvalue() + + +def import_set(in_stream, headers=True): + """Returns dataset from CSV stream.""" + + data = tablib.core.Dataset() + + rows = csv.reader(in_stream.split()) + for i, row in enumerate(rows): + + if (i == 1) and (headers): + data.headers = row + else: + data.append(row) + + return data
\ No newline at end of file |
