Lire ou analyser un fichier CSV en PHP

Muhammad Abubakar 8 juillet 2021
  1. Utilisez fread() pour lire le fichier CSV en PHP
  2. Utilisez readfile() pour lire le fichier CSV en PHP
  3. Utilisez la fonction str_getcsv() pour analyser CSV en Python
  4. Utilisez la fonction fgetcsv() pour analyser CSV en Python
Lire ou analyser un fichier CSV en PHP

La gestion des fichiers est un composant essentiel de toute application Web. Ce didacticiel présentera comment lire, écrire et ajouter des fichiers à l’aide de la gestion des fichiers.

Utilisez fread() pour lire le fichier CSV en PHP

C’est la fonction de base de la lecture du fichier CSV en PHP. Il lit le fichier et retourne tout le contenu présent dans le fichier.

Voir l’exemple de code.

<?php
$file = "text1.csv";
$openfile = fopen($file, "r");
$cont = fread($openfile, filesize($file));
echo $cont;
?>  

Production:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

fread() requiert deux paramètres : le fichier à partir duquel on veut lire les données et la taille du fichier que l’on peut obtenir en passant le fichier en paramètre à la fonction filesize($file).

Utilisez readfile() pour lire le fichier CSV en PHP

Cette fonction lit un fichier et enregistre les résultats dans la mémoire ou le cache. Il ouvre le fichier et lit le contenu du fichier. Il n’accepte qu’un seul paramètre, qui est le fichier.

<?php
echo readfile("text1.csv");
?>

Sortie :

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
49

La fonction fread() ne fait que lire le fichier et retourne les données dans l’éditeur, mais la fonction readfile() lit un fichier mais sauvegarde également son résultat en mémoire ou en cache.

Utilisez la fonction str_getcsv() pour analyser CSV en Python

Cette fonction analyse une chaîne au format CSV et renvoie un tableau contenant les données du fichier. Il convertit les données d’un fichier CSV en un tableau, mais avant de l’exécuter, vous devez ouvrir le fichier à l’aide de la fonction fopen(), qui prend le fichier et le mode comme paramètres. Voir l’exemple suivant.

<?php
$handle = fopen("text1.csv", "r");
$lineNumber = 1;
while (($raw_string = fgets($handle)) !== false) {
    $row = str_getcsv($raw_string);
    var_dump($row);
    $lineNumber++;
}
fclose($handle);
?>

Production:

array(4) {
  [0]=>
  string(3) "aaa"
  [1]=>
  string(3) "bbb"
  [2]=>
  string(3) "ccc"
  [3]=>
  string(4) "dddd"
}
array(3) {
  [0]=>
  string(3) "123"
  [1]=>
  string(3) "456"
  [2]=>
  string(3) "789"
}
array(2) {
  [0]=>
  string(5) ""aaa""
  [1]=>
  string(5) ""bbb""
}

Utilisez la fonction fgetcsv() pour analyser CSV en Python

Maintenant, nous allons utiliser une fonction intéressante nommée fgetcsv() pour analyser les données d’un fichier CSV. Les étapes suivantes sont nécessaires pour utiliser cette fonction.

  1. Ouvrez le fichier pour accéder aux données du fichier à partir d’un fichier
  2. Utilisez la fonction fgetcsv() dans une boucle pour analyser chaque ligne du fichier séparément.
  3. Fermez le fichier

Voir l’exemple de code.

<?php

$file = fopen('text1.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
    echo '<pre>';
    print_r($line);
    echo '</pre>';
}
fclose($file);
?>

Production:

<pre>Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => dddd
)
</pre><pre>Array
(
    [0] => 123
    [1] => 456
    [2] => 789
)
</pre><pre>Array
(
    [0] => "aaa"
    [1] => "bbb"
)
</pre>

Article connexe - PHP File