[code.view]

[top] / python / PyMOTW / csv / csv_dialect_variations.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2009 Doug Hellmann All rights reserved.
     #
     """
     """
     #end_pymotw_header
     
     import csv
     import sys
     
     csv.register_dialect('escaped', escapechar='\\', doublequote=False, quoting=csv.QUOTE_NONE)
     csv.register_dialect('singlequote', quotechar="'", quoting=csv.QUOTE_ALL)
     
     quoting_modes = dict( (getattr(csv,n), n) for n in dir(csv) if n.startswith('QUOTE_') )
     
     for name in sorted(csv.list_dialects()):
         print '\nDialect: "%s"\n' % name
         dialect = csv.get_dialect(name)
     
         print '  delimiter   = %-6r    skipinitialspace = %r' % (dialect.delimiter,
                                                                  dialect.skipinitialspace)
         print '  doublequote = %-6r    quoting          = %s' % (dialect.doublequote,
                                                                  quoting_modes[dialect.quoting])
         print '  quotechar   = %-6r    lineterminator   = %r' % (dialect.quotechar,
                                                                  dialect.lineterminator)
         print '  escapechar  = %-6r' % dialect.escapechar
         print
         
         writer = csv.writer(sys.stdout, dialect=dialect)
         for i in xrange(3):
             writer.writerow(
                 ('col1', i, '10/%02d/2010' % i,
                  'Contains special chars: " \' %s to be parsed' % dialect.delimiter)
                 )
         print
     
     

[top] / python / PyMOTW / csv / csv_dialect_variations.py

contact | logmethods.com