From 1815359dcbec206f7834ab7e76f8c6219841dba7 Mon Sep 17 00:00:00 2001 From: Alistair Miles Date: Tue, 6 Aug 2019 17:35:45 +0100 Subject: [PATCH 1/3] add splitdown to namespace --- petl/transform/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/petl/transform/__init__.py b/petl/transform/__init__.py index 5dac1f6c..90573a08 100644 --- a/petl/transform/__init__.py +++ b/petl/transform/__init__.py @@ -33,7 +33,7 @@ from petl.transform.fills import filldown, fillright, fillleft from petl.transform.regex import capture, split, search, searchcomplement, \ - sub + sub, splitdown from petl.transform.reshape import melt, recast, transpose, pivot, flatten, \ unflatten From 2f8844231c035b1d3981dd22079593c792344d9a Mon Sep 17 00:00:00 2001 From: Alistair Miles Date: Tue, 6 Aug 2019 17:35:52 +0100 Subject: [PATCH 2/3] change notes --- docs/changes.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/changes.rst b/docs/changes.rst index 1a5245dd..1e54b19a 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -18,6 +18,9 @@ Version 1.3.0 in a similar way to :func:`petl.util.timing.progress` but writes to a Python logger. By :user:`dusktreader`, :issue:`408`, :issue:`407`. +* Added new function :func:`petl.transform.regex.splitdown` for splitting a value into + multiple rows. By :user:`John-Dennert`, :issue:`430`, :issue:`386`. + * Pass through keyword arguments to :func:`xlrd.open_workbook`. By :user:`gjunqueira`, :issue:`470`, :issue:`473`. From 22adc6480c75907165ffb8ff1a08bfa0ec9379b3 Mon Sep 17 00:00:00 2001 From: Alistair Miles Date: Tue, 6 Aug 2019 20:04:10 +0100 Subject: [PATCH 3/3] fix doctest --- petl/transform/regex.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/petl/transform/regex.py b/petl/transform/regex.py index 9b7c6f36..0b71329d 100644 --- a/petl/transform/regex.py +++ b/petl/transform/regex.py @@ -391,28 +391,28 @@ def splitdown(table, field, pattern, maxsplit=0, flags=0): ... ['Jane Doe', 'president,engineer,tailor,lawyer'], ... ['John Doe', 'rocket scientist,optometrist,chef,knight,sailor']] >>> table2 = etl.splitdown(table1, 'roles', ',') - >>> table2 + >>> table2.lookall() +------------+--------------------+ | name | roles | +============+====================+ | 'Jane Doe' | 'president' | - +------------+-----+--------------+ + +------------+--------------------+ | 'Jane Doe' | 'engineer' | - +------------+-----+--------------+ + +------------+--------------------+ | 'Jane Doe' | 'tailor' | - +------------+-----+--------------+ + +------------+--------------------+ | 'Jane Doe' | 'lawyer' | - +------------+-----+--------------+ + +------------+--------------------+ | 'John Doe' | 'rocket scientist' | - +------------+-----+--------------+ + +------------+--------------------+ | 'John Doe' | 'optometrist' | - +------------+-----+--------------+ + +------------+--------------------+ | 'John Doe' | 'chef' | - +------------+-----+--------------+ + +------------+--------------------+ | 'John Doe' | 'knight' | - +------------+-----+--------------+ + +------------+--------------------+ | 'John Doe' | 'sailor' | - +------------+-----+--------------+ + +------------+--------------------+ """