2017 © Pedro Peláez
 

library phpcsv

Wraps SplFileObject's CSV capabilities with a more human approach

image

g105b/phpcsv

Wraps SplFileObject's CSV capabilities with a more human approach

  • Saturday, June 4, 2016
  • by g105b
  • Repository
  • 2 Watchers
  • 1 Stars
  • 10,512 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 6 Open issues
  • 18 Versions
  • 8 % Grown

The README.md

phpcsv

Wraps SplFileObject's CSV capabilities with a more human approach, (*1)

Build status Composer Version Download Stats, (*2)

Features at a glance

  • Enhances PHP's SplFileObject, a memory-efficient file stream.
  • Simple filtering of rows by field value (getAllBy("fieldName", "fieldValue")).
  • Results are associative arrays, the indices are the CSV header names.
  • Iterate over CSV files by row.
  • Reference CSV rows by row number.
  • Reference CSV rows by ID value.

Screenshot in action

Screenshot of phpcsv, (*3)

Usage

Here are a few use cases to best show the functionality of the library. For a complete guide, visit the documentation., (*4)

Add rows

$csv = new Csv("/path/to/file.csv");
$csv->add([
    "firstName" => "Alan",
    "lastName" => "Statham",
    "Job Title" => "Consultant Radiologist",
]);
$csv->add([
    "firstName" => "Caroline",
    "lastName" => "Todd",
    "Job Title" => "Surgical Registrar",
]);

Get rows

$csv = new Csv("/path/to/file.csv");
$resultRows = $csv->getAllBy("gender", "F"); // array of all matching rows.
$firstRow = $csv->getBy("gender", "F"); // single row, first matching.

Iterate over rows

$csv = new Csv("/path/to/file.csv");

foreach ($csv as $rowNumber => $row) {
    // $row is an associative array with CSV headers as each key.
    // $rowNumber starts from 1 (ignoring header row).
}

Update row

$csv = new Csv("/path/to/file.csv");
$row = $csv->getBy("email", "barack@whitehouse.gov");

// Update the matching row with provided fields, keeping any
// existing field data on the existing row.
$csv->update($row, [
    "dateOfBirth" => "1961-08-04",
]);

Delete row

$csv = new Csv("/path/to/file.csv");

// Delete a row by its index.
$csv->deleteRow(22);

Future feature ideas

  • Requesting only certain fields in result (v2)
  • Type handling (v3)
  • Sorting (v4)
  • Faster retrieval of indexed rows (v4)

The Versions

04/06 2016

dev-master

9999999-dev

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

04/06 2016

v1.0.3

1.0.3.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

08/10 2015

v1.0.2

1.0.2.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

12/05 2015

v1.0.1

1.0.1.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

11/05 2015

v1.0.0

1.0.0.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

11/05 2015

dev-018-empty-lines

dev-018-empty-lines

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

13/03 2015

dev-MissingFields

dev-MissingFields

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

06/03 2015

v0.5.1

0.5.1.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

03/03 2015

dev-HardenTests

dev-HardenTests

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

03/03 2015

v0.5

0.5.0.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

21/02 2015

v0.4.4

0.4.4.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

20/02 2015

v0.4.3

0.4.3.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

20/02 2015

v0.4.1

0.4.1.0

Wraps SplFileObject's CSV capabilities with a more human approach

  Sources   Download

MIT

The Development Requires

database csv read write filter export import iterate

19/02 2015

v0.4.0

0.4.0.0

  Sources   Download

MIT

The Development Requires

csv read write filter export import iterate

19/02 2015

v0.3.0

0.3.0.0

  Sources   Download

MIT

The Development Requires

csv read write filter export import iterate

18/02 2015

v0.2.0

0.2.0.0

  Sources   Download

MIT

The Development Requires

csv read write filter export import iterate

17/02 2015

v0.1.1

0.1.1.0

  Sources   Download

MIT

The Development Requires

csv read write filter export import iterate

10/02 2015

v0.1.0

0.1.0.0

  Sources   Download

MIT

The Development Requires

csv read write filter export import iterate