Python 2/3 unicode CSV compatibility layer
csv23 provides the unicode-based API of the Python 3 csv module for Python 2 and 3. Code that should run under both versions of Python can use it to hide the bytes vs. text difference between 2 and 3 and stick to the newer unicode-based interface.
csv23 works around for the following bugs in the stdlib csv module:
- broken round-trip with escapechar if your data contains a literal escape character
- broken round-trip with escapechar and embedded newlines under Python 2 (fixed in Python 3.4 but not backported): produce a warning
The package also provides some convenience functionality such as the open_csv() context manager for opening a CSV file in the right mode and returning a csv.reader or csv.writer:
>>> import csv23 >>> with csv23.open_csv('spam.csv') as reader: # doctest: +SKIP ... for row in reader: ... print(', '.join(row)) Spam!, Spam!, Spam!' Spam!, Lovely Spam!, Lovely Spam!'
It uses utf-8 as default encoding everywhere.
This package runs under Python 2.7, and 3.4+, use pip to install:
$ pip install csv23
This package is distributed under the MIT license.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|csv23-0.1.4-py2.py3-none-any.whl (14.2 kB) Copy SHA256 hash SHA256||Wheel||py2.py3|
|csv23-0.1.4.zip (33.3 kB) Copy SHA256 hash SHA256||Source||None|