League\Csv is a simple library to ease CSV parsing, writing and filtering in PHP. The goal of the library is to be powerful while remaining lightweight, by utilizing PHP native classes whenever possible.
League\Csv was designed for developers who want to deal with CSV data using modern code and without the high levels of bootstrap and low-levels of usefulness provided by existing core functions or third party-code.
This package is compliant with PSR-2 and PSR-4.
You need PHP >= 5.4.0 or HHVM >= 3.2 and the mbstring
extension to use League\Csv
but the latest stable version of PHP/HHVM is recommended.
Install League\Csv
using Composer.
composer require league/csv
This will edit (or create) your composer.json
file and automatically choose the most recent version, for example: ~6.0
You can also use League\Csv
without using Composer by downloading the library and using a PSR-4 compatible autoloader.
League\Csv
is fully documented. Contribute to this documentation in the gh-pages branch
-
When creating or editing a document using
League\Csv\Writer
, first insert all the data that needs to be inserted before anything else. If you manipulate your data before insertion, you may change the file cursor position and get unexpected results. -
Even though you can iterate over you document using
League\Csv\Writer
class, it is recommend and best practice to iterate over you CSV using theLeague\Csv\Reader
class to avoid any issue. -
The library assumes that your data is UTF-8 encoded. If your are dealing with non-unicode data you must enable your data conversion into UTF-8 otherwise output methods will fail. You can transcode your CSV :
- using the library stream filtering methods;
- or by setting the source encoding charset;
$ phpunit
Please see CONTRIBUTING for details.