ajgl / csv
Simple library to read and write CSV files (includes a RFC 4180 compliant implementation)
Installs: 8 866
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: ^7.3 || ^8.0
- ajgl/csv-rfc: ^0.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.17
- phpunit/phpunit: ^9.5
Suggests
- ext-iconv: Enabling the iconv extension allows you to convert the string using the IconvConverter class
README
The AjglCsv component allows you to read and write CSV files.
There are currently two different implementations for the reader and writer classes:
- An implementation using the native fgetcsv and fputcsv functions
- An implementation compatible with the RFC 4180
Installation
To install the latest stable version of this component, open a console and execute the following command:
$ composer require ajgl/csv
Usage
The simplest way to use this library is to create a Ajgl\Csv\Csv instance with:
$csv = Ajgl\Csv\Csv::create();
By default, the library uses the native f??tcsv functions. If you want to read
or write RFC 4180 compatible files, you should set the default reader and writer
types to rfc
with:
$csv->setDefaultReaderType('rfc'); $csv->setDefaultWriterType('rfc');
To create a new CSV reader or writer, you should call:
$reader = $csv->createReader('/path/to/input.csv'); $writer = $csv->createWriter('/path/to/output.csv');
Symfony Bundle
If you need to integrate these library into your Symfony Framework app, you can install the AjglCsvBundle.
License
This component is under the MIT license. See the complete license in the LICENSE file.
Reporting an issue or a feature request
Issues and feature requests are tracked in the Github issue tracker.
Author Information
Developed with ♥ by Antonio J. García Lagar.
If you find this component useful, please add a ★ in the GitHub repository page and/or the Packagist package page.