Python Csv
csv is a module that supports (de-)serializing CSV files.
Contents
Usage
DictReader
DictWriter
Reader
import csv with open(file, 'r', newline='', encoding='latin-1') as f: r = csv.reader(f) for row in r: print(list(row))
Writer
import csv data = [["John", "Doe", 123], ["Jane", "Doe", 456]] with open(file, 'w', newline='', encoding='latin-1') as f: w = csv.writer(f) w.writerows(data)
Alternatively, write individual rows.
for row in data: w.writerow(data)
Constants
The above functions take one of the following constants as a quoting option. The ensuing behavior often depends on other options passed on those functions, such as quotechar.
Constant |
Meaning |
csv.QUOTE_ALL |
quote all fields using the quotechar |
csv.QUOTE_MINIMAL |
quote fields which contain special characters (delimiter, quotechar, and lineterminator) using the quotechar |
csv.QUOTE_NONNUMERIC |
quote all non-numeric fields using the quotechar |
csv.QUOTE_NONE |
never quote fields; if delimiter is encountered in output, it is escaped with escapechar or csv.Error is raised |
If csv.QUOTE_NONNUMERIC is passed to a reader, all unquoted fields are cast to float.
If csv.QUOTE_NONE is passed to a reader, all quotes are retained as part of a field's data.
See also
Python csv module documentation
Python Module of the Day article for csv