mirror of
https://github.com/kennethreitz/tablib.git
synced 2026-06-05 23:10:17 +00:00
+15
-3
@@ -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):
|
||||
|
||||
+7
-1
@@ -503,7 +503,13 @@ class TablibTestCase(unittest.TestCase):
|
||||
"""Check if unicode in csv export doesn't raise."""
|
||||
|
||||
data = tablib.Dataset()
|
||||
data.append([u'\xfc', u'\xfd'])
|
||||
|
||||
if sys.version_info[0] > 2:
|
||||
data.append(['\xfc', '\xfd'])
|
||||
else:
|
||||
exec("data.append([u'\xfc', u'\xfd'])")
|
||||
|
||||
|
||||
data.csv
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user