league/csv

CSV data manipulation made easy in PHP

Fund package maintenance!
nyamsprod

Installs: 113 411 986

Dependents: 618

Suggesters: 73

Security: 0

Stars: 3 357

Watchers: 60

Forks: 338

Open Issues: 2

9.20.1 2024-12-18 10:11 UTC

README

Latest Version Software License Build Total Downloads

Csv is a library to ease parsing, writing and filtering CSV in PHP. The library goal is to be powerful while remaining lightweight, by utilizing PHP native classes whenever possible.

Highlights

  • Easy to use API
  • Read and Write to CSV documents in a memory efficient and scalable way
  • Support PHP stream filtering capabilities
  • Transform CSV documents into popular format (JSON, XML or HTML)
  • Fully documented
  • Fully unit tested
  • Framework-agnostic

Documentation

Full documentation can be found at csv.thephpleague.com.

System Requirements

You need the ext-filter extension to use Csv and the latest stable version of PHP is recommended.

Please find below the PHP support for Csv version 9.

Install

Install Csv using Composer.

composer require league/csv:^9.0

Configuration

Warning

Starting with PHP8.4 Deprecation notices will be trigger if you do not explicitly set the escape parameter. see Deprecation for PHP8.4 and CSV and PHP8.4

Tip

If your CSV document was created or is read on a Legacy Macintosh computer, add the following lines before using the library to help PHP detect line ending.

if (!ini_get('auto_detect_line_endings')) {
    ini_set('auto_detect_line_endings', '1');
}

Warning

The ini setting is deprecated since PHP version 8.1 and will be removed in PHP 9.0

Testing

The library has:

  • a PHPUnit test suite.
  • a coding style compliance test suite using PHP CS Fixer.
  • a code analysis compliance test suite using PHPStan.

To run the tests, run the following command from the project folder.

composer test

Contributing

Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.

Security

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

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

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