csvkit.unicsv

This module contains unicode aware replacements for csv.reader() and csv.writer(). The implementations are largely copied from examples in the csv module documentation.

class csvkit.unicsv.UTF8Recoder(f, encoding)

Iterator that reads an encoded stream and reencodes the input to UTF-8.

next()
class csvkit.unicsv.UnicodeCSVReader(f, encoding='utf-8', maxfieldsize=None, **kwargs)

A CSV reader which will read rows from a file in a given encoding.

next()
line_num
class csvkit.unicsv.UnicodeCSVWriter(f, encoding='utf-8', **kwargs)

A CSV writer which will write rows to a file in the specified encoding.

NB: Optimized so that eight-bit encodings skip re-encoding. See:
https://github.com/onyxfish/csvkit/issues/175
writerow(row)
writerows(rows)
class csvkit.unicsv.UnicodeCSVDictReader(f, fieldnames=None, restkey=None, restval=None, *args, **kwargs)

Defer almost all implementation to csv.DictReader, but wraps our unicode reader instead of csv.reader().

fieldnames
next()
class csvkit.unicsv.UnicodeCSVDictWriter(f, fieldnames, writeheader=False, restval='', extrasaction='raise', *args, **kwds)

Defer almost all implementation to csv.DictWriter, but wraps our unicode writer instead of csv.writer().

writeheader()
writerow(rowdict)
writerows(rowdicts)