gitfullstacker / laravel-csv-parser
A Laravel package for parsing CSV files
Requires
- php: >=7.4
- illuminate/support: ^8.0|^9.0|^10.0
- league/csv: ^9.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
A simple and efficient Laravel package for parsing CSV files using league/csv. Provides an easy-to-use API with Laravel Collections.
🚀 Features
✅ Simple CSV parsing into Laravel Collections
✅ Supports custom delimiters
✅ Auto-detects headers
✅ Lightweight and fast
📦 Installation
You can install the package via Composer:
composer require gitfullstacker/laravel-csv-parser
Laravel will automatically discover the service provider. No additional configuration is required.
⚙️ Usage
Parsing a CSV File
use GitFullStacker\CsvParser\Facades\CsvParser; $csvData = CsvParser::parse(storage_path('data.csv')); dd($csvData); // Returns Illuminate\Support\Collection of CSV rows
Using a Custom Delimiter
$csvData = CsvParser::parse(storage_path('semicolon-separated.csv'), ';');
Handling Errors
try { $csvData = CsvParser::parse(storage_path('missing.csv')); } catch (\Exception $e) { echo "Error: " . $e->getMessage(); }
🏗 Configuration (Optional)
If you need to manually register the service provider, add the following in config/app.php:
'providers' => [ GitFullStacker\CsvParser\CsvParserServiceProvider::class, ], 'aliases' => [ 'CsvParser' => GitFullStacker\CsvParser\Facades\CsvParser::class, ],
🔥 Testing
To run tests, install dependencies and execute PHPUnit:
composer install vendor/bin/phpunit
🧰 Requirements
- PHP 7.4 or higher
- Laravel 8, 9, or 10
- league/csv 9.x
🤝 Contributing
Contributions are welcome! 1. Fork the repository 2. Create a new branch (feature-branch) 3. Commit your changes 4. Push and submit a PR
📜 License
This package is open-sourced under the MIT License. See LICENSE for details.
📩 Contact & Support
For issues or feature requests, open an issue.
Follow me on GitHub: gitfullstacker 🚀