bagf/column-extractor

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

Installs: 15

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/bagf/column-extractor

0.0.1 2017-11-28 18:19 UTC

This package is not auto-updated.

Last update: 2025-09-28 10:58:16 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());