diff -r 52a976c5d27a -r efbbf1e93a04 dataimport.py --- a/dataimport.py Tue Jul 01 13:19:35 2014 +0200 +++ b/dataimport.py Fri Nov 07 15:33:30 2014 +0100 @@ -449,22 +449,12 @@ Recognized keywords: :encoding: resulting string encoding (default: utf-8) - :replace_sep: character used when input contains characters - that conflict with the column separator. ''' encoding = opts.get('encoding','utf-8') - replace_sep = opts.get('replace_sep', None) - # Remove separators used in string formatting - for _char in (u'\t', u'\r', u'\n'): - if _char in value: - # If a replace_sep is given, replace - # the separator - # (and thus avoid empty buffer) - if replace_sep is None: - raise ValueError('conflicting separator: ' - 'you must provide the replace_sep option') - value = value.replace(_char, replace_sep) - value = value.replace('\\', r'\\') + escape_chars = ((u'\\', ur'\\'), (u'\t', u'\\t'), (u'\r', u'\\r'), + (u'\n', u'\\n')) + for char, replace in escape_chars: + value = value.replace(char, replace) if isinstance(value, unicode): value = value.encode(encoding) return value