Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

graze/csv-token

Open more actions menu

Repository files navigation

csv-token

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Tokenised Csv Reader that handles some of the strange configurations databases and application use.

  • Parses tokens and csv from streams and outputs using a Lazy Iterator
Csv Feature Example Array
Delimiter `thing other`
Quote Enclosure "quote, here",not here ['quote, here', 'not here']
Escaping "\"text","new\\nline" ['"text',"new\\\nline"]
Double Quotes """text","more" ['"text','more']
Double Quotes and Escaping """text","\, text" ['"text',', text']
Null value parsing "text",\\N,"text" ['text',null,'text']
Boolean value parsing "text",false,true ['text',false,true]
Numeric value parsing "text",1,-2.3,3.1e-24 ['text',1,-2.3,3.1e-24]
Handling of Byte Order Marks <UTF8BOM>"text","things" ['text','things']

Install

Via Composer

$ composer require graze/csv-token

Usage

Simple reader

$csvDefinition = new CsvDefinition();
$reader = new Reader($csvDefinition, $stream);
$iterator = $reader->read();

More advanced parsing (with value parsers)

// $stream = '"some","text",true,false,0,1,2';
$csvDefiniton = new CsvDefinition();
$parser = new Parser([new BoolValueParser(), new NumberValueParser()]);
$tokeniser = new StreamTokeniser($csvDefinition, $stream);
$iterator = $parser->parser($tokeniser->getTokens());

var_dump(iterator_to_array($iterator));
-> [['some','text',true,false,0,1,2]]

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ make test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email security@graze.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

📋 Read CSV streams using tokens

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.