taranto / csv-parser
CSV parser for PHP7.0 or later
Installs: 23
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
pkg:composer/taranto/csv-parser
Requires
- php: >=7.0
Requires (Dev)
- mikey179/vfsstream: 1.6.4
- phpunit/phpunit: ^5.7.6
This package is not auto-updated.
Last update: 2025-10-19 16:26:18 UTC
README
CSV Parser
An easy to use CSV parser
Features
- Converts CSV to arrays and arrays indexed by the first row cells (headers);
- Automatically guesses CSV fields delimiter;
- Provides limit and offset options for parsing;
- Performance wise parsing while using as an iterator.
Requirements
- PHP 7.0 or later.
Installation
composer require taranto/csv-parser
Usage
Parsing a CSV file to an array:
$csvParser = new CsvParser('file.csv'); $csvAsArray = $csvParser->getCsvAsArray();
Parsing a CSV file to an array indexed by the first row cells (headers):
$csvParser = new CsvParser('file.csv'); $csvAsArray = $csvParser->getCsvAsAssociativeArray();
Performance wise usage (good for large files):
- Simple arrays
$csvParser = new CsvParser('file.csv'); $csvAsArray = []; foreach ($csvParser as $row) { $csvAsArray[] = $row; }
- Associative arrays
$csvParser = new CsvParser('file.csv', true); $csvAsArray = []; foreach ($csvParser as $row) { $csvAsArray[] = $row; }
Example
Given the CSV
| name  | birthdate   | 
| John  |  1985-02-03 | 
|  Kim  |  1976-05-04 | 
|  Suzy |  1991-04-02 |
|  Tom  |  1970-01-03 |
Parsing to an associtive array with offset(1) and limit(2):
$csvParser = new CsvParser('file.csv'); $csvAsArray = $csvParser->getCsvAsAssociativeArray(1, 2);
Returns:
[
    ["name" => "Kim", "birthdate" => "1976-05-04"]
    ["name" => "Suzy", "birthdate" => "1991-04-02"]
]
Author
- Renan Taranto - renantaranto@gmail.com
License
This project is licensed under the MIT License - see the LICENSE.txt file for details