Hi! I'm trying to use the csv Parser included with Python. Field Delimiter is "|", Line Delimiter is "#". Unfortunately it doesn't work as expected. The parser seems to just ignore the 'lineterminator'?
Here's some example: > $ cat test.py > #! /usr/bin/env python > > import sys, csv, cStringIO > > class SpecialCSVDialect(csv.Dialect): > delimiter = '|' > lineterminator = '#' > quotechar = '"' > doublequote = True > skipinitialspace = False > quoting = csv.QUOTE_MINIMAL > > csv.register_dialect("SpecialCSV", SpecialCSVDialect) > > memfile = cStringIO.StringIO("1a|1b|1c|1d#2a|2b|2c|2d#3a|3b|3c|3d#") > cfile = csv.reader(memfile, dialect="SpecialCSV") > > while 1: > try: > data = cfile.next() > except csv.Error, (errmsg): > print >> sys.stderr, "SpecialCSVError '%s' - aborting...!" % (errmsg) > sys.exit() > except StopIteration: > break > print data > $ ./test.py > ['1a', '1b', '1c', '1d#2a', '2b', '2c', '2d#3a', '3b', '3c', '3d#'] > $ I would have been expecting that the parser returns three lines, i. e. > ['1a', '1b', '1c', '1d'] > ['2a', '2b', '2c', '2d'] > ['3a', '3b', '3c', '3d'] Any hints what I'm doing wrong here? Thanks Tino -- http://mail.python.org/mailman/listinfo/python-list