bagf/column-extractor

There is no license information available for the latest version (0.0.1) of this package.

0.0.1 2017-11-28 18:19 UTC

This package is not auto-updated.

Last update: 2024-04-28 02:32:28 UTC


README

Classes that extract, rename, transform CSV data

Usage

composer require bagf/column-extractor

Example

use Goodby\CSV\Import\Standard\LexerConfig;
use Goodby\CSV\Import\Standard\Lexer as CSVLexer;
use Bagf\ColumnExtractor\Column;
use Bagf\ColumnExtractor\ColumnExtractor;

$interpreter = new ColumnExtractor([
    // Matches the column 'User Code' and maps it to 'code' key in the rows() sub arrays
    (new Column('User Code'))->rename('code'),
    // You can chain operations currently rename and transform are supported
    // transform() accepts a closure that gets the current $line and matched column $contents
    (new Column('Number'))->transform(function($line, $contents) {...})->rename('id'),
]);

$config = new LexerConfig();
$config->setDelimiter(($commaDelimiter?',':"\t"));
(new CSVLexer($config))->parse('file.csv', $interpreter);

print_r($interpreter->rows());
print_r($interpreter->errors());