Metadata-Version: 1.1 Name: backports.csv Version: 1.0.5 Summary: Backport of Python 3 csv module Home-page: https://github.com/ryanhiebert/backports.csv Author: Ryan Hiebert Author-email: ryan@ryanhiebert.com License: UNKNOWN Description: ================================================ backports.csv: Backport of Python 3's csv module ================================================ .. image:: https://img.shields.io/pypi/v/backports.csv.svg :target: https://pypi.python.org/pypi/backports.csv :alt: Latest Version .. image:: https://travis-ci.org/ryanhiebert/backports.csv.svg?branch=master :target: https://travis-ci.org/ryanhiebert/backports.csv .. image:: https://badges.gitter.im/ryanhiebert/backports.csv.svg :alt: Join the chat at https://gitter.im/ryanhiebert/backports.csv :target: https://gitter.im/ryanhiebert/backports.csv?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge .. image:: https://requires.io/github/ryanhiebert/backports.csv/requirements.svg?branch=master :target: https://requires.io/github/ryanhiebert/backports.csv/requirements/?branch=master :alt: Requirements Status The API of the csv module in Python 2 is drastically different from the csv module in Python 3. This is due, for the most part, to the difference between str in Python 2 and Python 3. The semantics of Python 3's version are more useful because they support unicode natively, while Python 2's csv does not. Installation ============ .. code-block:: sh pip install backports.csv Usage ===== First make sure you're starting your file off right: .. code-block:: python from backports import csv Then be careful with your files to handle the encoding. If you're working with a binary file-like object, ``io.TextIOWrapper`` can be very helpful. If you're dealing with a file, you can just use ``io.open`` instead of Python 2's ``open`` builtin, and it works just like Python 3's builtin ``open``. .. code-block:: python from backports import csv import io def read_csv(filename): with io.open(filename, newline='', encoding='utf-8') as f: for row in csv.reader(f): yield row def write_csv(filename, rows): with io.open(filename, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) for row in rows: writer.writerow(row) Note: It should always be safe to specify ``newline=''``, since the csv module does its own (universal) newline handling. 1.0.5 (2017-05-29) ++++++++++++++++++ * Fix bug in README example. (#22) - thanks to @tantale for the bug report * Allow ``None`` as quotechar when using ``QUOTE_NONE``. (#23) - thanks to @thanatos for the bug report 1.0.4 (2017-02-17) ++++++++++++++++++ * Return write value from writerow. (#20) - thanks to @therg 1.0.3 (2017-01-23) ++++++++++++++++++ * Add LICENSE file (#18). 1.0.2 (2016-09-15) ++++++++++++++++++ * Avoid quoting any numeric types when using ``QUOTE_NONNUMERIC``. - thanks to @torfsen for the bug report 1.0.1 (2016-02-11) ++++++++++++++++++ * Better error messages for invalid dialects. - thanks to @kengruven for the bug report 1.0 (2016-02-11) ++++++++++++++++ * Initial Release Platform: UNKNOWN Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6