Skip to content
EasyCSV is a simple Object Oriented CSV manipulation library for PHP 7.2+
Branch: master
Clone or download
Latest commit 4b9ab36 Apr 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/EasyCSV Update doctrine/coding-standard, update phpstan, require php 7.2 Apr 11, 2019
tests/EasyCSV/Tests
.gitignore
.scrutinizer.yml
.travis.yml Update doctrine/coding-standard, update phpstan, require php 7.2 Apr 11, 2019
LICENSE
README.markdown
composer.json
composer.lock
phpcs.xml.dist Require PHP 7.1, add phpstan, Doctrine coding standards, add scrutini… May 29, 2018
phpstan.neon.dist
phpunit.xml.dist

README.markdown

EasyCSV

EasyCSV is a simple Object Oriented CSV manipulation library for PHP 7.2+

Build Status Scrutinizer Quality Score Code Coverage Latest Stable Version Total Downloads

Installation

Install via composer:

composer require jwage/easy-csv

Reader

To read CSV files we need to instantiate the EasyCSV reader class:

$reader = new \EasyCSV\Reader('read.csv');

You can iterate over the rows one at a time:

while ($row = $reader->getRow()) {
    print_r($row);
}

Or you can get everything all at once:

print_r($reader->getAll());

If you have a file with the header in a different line:

// our headers aren't on the first line
$reader = new \EasyCSV\Reader('read.csv', 'r+', false);
// zero-based index, so this is line 4
$reader->setHeaderLine(3);

Advance to a different line:

$reader->advanceTo(6);

More in the Reader unit test.

Writer

To write CSV files we need to instantiate the EasyCSV writer class:

$writer = new \EasyCSV\Writer('write.csv');

You can write a row by passing a commas separated string:

$writer->writeRow('column1, column2, column3');

Or you can pass an array:

$writer->writeRow(array('column1', 'column2', 'column3'));

You can also write several rows at once:

$writer->writeFromArray(array(
    'value1, value2, value3',
    array('value1', 'value2', 'value3')
));
You can’t perform that action at this time.