From 63d025888aeaf61022524f09d520e4b29687bdc5 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sat, 25 Sep 2010 05:49:21 -0400 Subject: Added format importers. --- tablib/formats/_csv.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tablib/formats/_csv.py (limited to 'tablib/formats/_csv.py') 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 -- cgit v1.2.1