Lire un fichier CSV avec Laravel
J’avais besoin de lire un fichier CSV pour remplir une base de donnée Laravel. C’est assez simple à faire car il y a une super lib pour gérer le CSV :
- composer require League/csv
On lit le CSV et on boucle sur chaque élément. Après on en fait ce qu’on veut :) !
- <?php
- use Illuminate\Database\Seeder;
- use Illuminate\Support\Collection;
- use League\Csv\Reader;
- use League\Csv\Statement;
- class commune extends Seeder
- {
- /**
- * Run the database seeds.
- *
- * @return void
- */
- public function run()
- {
- // Remplir la base de donnée avec les communes du fichier CSV
- // Lire le fichier csv
- $csv = Reader::createFromPath(storage_path('app/communes_belges.csv'));
- $csv->setHeaderOffset(0);
- // Boucler sur les données du fichier csv
- $records = (new Statement())->process($csv);
- foreach ($records->getRecords() as $record) {
- }
- }
- }