Merge pull request #150 from brad/csv-newlines

Allow csv fields to have multiple lines.
This commit is contained in:
Iuri de Silvio
2014-05-02 11:25:30 -03:00
2 changed files with 18 additions and 2 deletions
+2 -2
View File
@@ -35,9 +35,9 @@ def import_set(dset, in_stream, headers=True):
dset.wipe()
if is_py3:
rows = csv.reader(in_stream.splitlines())
rows = csv.reader(StringIO(in_stream))
else:
rows = csv.reader(in_stream.splitlines(), encoding=DEFAULT_ENCODING)
rows = csv.reader(StringIO(in_stream), encoding=DEFAULT_ENCODING)
for i, row in enumerate(rows):
if (i == 0) and (headers):
+16
View File
@@ -421,6 +421,22 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(_csv, data.csv)
def test_csv_import_set_with_newlines(self):
"""Generate and import CSV set serialization when row values have
newlines."""
data.append(('Markdown\n=======',
'A cool language\n\nwith paragraphs'))
data.append(('reStructedText\n==============',
'Another cool language\n\nwith paragraphs'))
data.headers = ('title', 'body')
_csv = data.csv
data.csv = _csv
self.assertEqual(_csv, data.csv)
def test_tsv_import_set(self):
"""Generate and import TSV set serialization."""
data.append(self.john)