A short usage example::
>>> import csv
- >>> spamReader = csv.reader(open('eggs.csv', 'rb'), delimiter=' ', quotechar='|')
- >>> for row in spamReader:
- ... print ', '.join(row)
+ >>> with open('eggs.csv', 'rb') as csvfile:
+ ... spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
+ ... for row in spamreader:
+ ... print ', '.join(row)
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
A short usage example::
- >>> import csv
- >>> spamWriter = csv.writer(open('eggs.csv', 'wb'), delimiter=' ',
- ... quotechar='|', quoting=csv.QUOTE_MINIMAL)
- >>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
- >>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
+ import csv
+ with open('eggs.csv', 'wb') as csvfile:
+ spamwriter = csv.writer(csvfile, delimiter=' ',
+ quotechar='|', quoting=csv.QUOTE_MINIMAL)
+ spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
+ spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
.. function:: register_dialect(name[, dialect], **fmtparams)
An example for :class:`Sniffer` use::
- csvfile = open("example.csv", "rb")
- dialect = csv.Sniffer().sniff(csvfile.read(1024))
- csvfile.seek(0)
- reader = csv.reader(csvfile, dialect)
- # ... process CSV file contents here ...
+ with open('example.csv', 'rb') as csvfile:
+ dialect = csv.Sniffer().sniff(csvfile.read(1024))
+ csvfile.seek(0)
+ reader = csv.reader(csvfile, dialect)
+ # ... process CSV file contents here ...
The :mod:`csv` module defines the following constants: