diff options
| author | Kenneth Reitz <me@kennethreitz.com> | 2011-05-12 02:24:14 -0400 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.com> | 2011-05-12 02:24:14 -0400 |
| commit | bfcfa37ebbf5850b8ba4368ccaac0aa3f4c55f20 (patch) | |
| tree | b95535d33ee6b673eab2855b8cb108cfe869a580 /tablib/formats/_csv.py | |
| parent | 5c50c1822e0d9f0fa493c064902d48cb092fd831 (diff) | |
| download | tablib-bfcfa37ebbf5850b8ba4368ccaac0aa3f4c55f20.tar.gz | |
Python3 support for csv module.
Refs #7
Diffstat (limited to 'tablib/formats/_csv.py')
| -rw-r--r-- | tablib/formats/_csv.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/tablib/formats/_csv.py b/tablib/formats/_csv.py index ddf477a..bfe8b0f 100644 --- a/tablib/formats/_csv.py +++ b/tablib/formats/_csv.py @@ -5,12 +5,17 @@ import sys if sys.version_info[0] > 2: + is_py3 = True + from io import StringIO + import csv else: + is_py3 = False from cStringIO import StringIO + import tablib.packages.unicodecsv as csv + -import tablib.packages.unicodecsv as csv import os import tablib @@ -27,7 +32,11 @@ DEFAULT_ENCODING = 'utf-8' def export_set(dataset): """Returns CSV representation of Dataset.""" stream = StringIO() - _csv = csv.writer(stream, encoding=DEFAULT_ENCODING) + + if is_py3: + _csv = csv.writer(stream) + else: + _csv = csv.writer(stream, encoding=DEFAULT_ENCODING) for row in dataset._package(dicts=False): _csv.writerow(row) @@ -40,7 +49,10 @@ def import_set(dset, in_stream, headers=True): dset.wipe() - rows = csv.reader(in_stream.splitlines(), encoding=DEFAULT_ENCODING) + if is_py3: + rows = csv.reader(in_stream.splitlines()) + else: + rows = csv.reader(in_stream.splitlines(), encoding=DEFAULT_ENCODING) for i, row in enumerate(rows): if (i == 0) and (headers): |
