Skip to content

andersonamuller/csv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSV

Build Status Coverage Status Total Downloads Latest Stable Version

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

League\Csv was designed for developers who wants to deal with CSV data using modern code and without the high levels of bootstrap and low-levels of usefulness provided by existing core functions or third party-code.

This package is compliant with PSR-1, PSR-2, and PSR-4.

System Requirements

You need PHP >= 5.4.0 and the mbstring extension to use League\Csv but the latest stable version of PHP is recommended.

Install

Install the csv package with Composer.

{
    "require": {
        "league/csv": "5.*"
    }
}

Documentation

Csv has full documentation, powered by Sculpin.

Contribute to this documentation in the sculpin branch.

Tips

  • When creating a file using the library, first insert all the data that need to be inserted before starting manipulating the CSV. If you manipulate your data before insertion, you may change the file cursor position and get unexpected results.

  • If you are dealing with non-unicode data, specify the encoding parameter using the setEncoding method otherwise your output conversions may no work.

  • If you have your LC_CTYPE set to a locale that's using UTF-8 and you try to parse a file that's not in UTF-8, PHP will cut your fields the moment it encounters a byte it can't understand (i.e. any outside of ASCII that doesn't happen to be part of a UTF-8 character which it likely isn't). This gist will show you a possible solution to this problem by using PHP stream filter. This tip is from Philip Hofstetter

  • When merging multiples CSV documents don't forget to set the main CSV object as a League\Csv\Writer object with the $open_mode = 'a+' to preserve its content. This setting is of course not required when your main League\Csv\Writer object is created from String

  • If you are on a Mac OS X Server, add the following lines before using the library to help PHP detect line ending in Mac OS X.

if (! ini_get("auto_detect_line_endings")) {
    ini_set("auto_detect_line_endings", true);
}

Testing

$ phpunit

Contributing

Please see CONTRIBUTING for details.

Credits

Bitdeli Badge

About

CSV data manipulation made easy in PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published