Leggi o analizza file CSV in PHP

Muhammad Abubakar 8 luglio 2021
  1. Usa fread() per leggere il file CSV in PHP
  2. Usa readfile() per leggere il file CSV in PHP
  3. Usa la funzione str_getcsv() per analizzare CSV in Python
  4. Usa la funzione fgetcsv() per analizzare CSV in Python
Leggi o analizza file CSV in PHP

La gestione dei file è una componente essenziale di qualsiasi applicazione web. Questo tutorial introdurrà come leggere, scrivere e aggiungere file utilizzando la gestione dei file.

Usa fread() per leggere il file CSV in PHP

È la funzione di base della lettura del file CSV in PHP. Legge il file e restituisce tutti i contenuti presenti nel file.

Vedi il codice di esempio.

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

Produzione:

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

fread() richiede due parametri: il file da cui vogliamo leggere i dati e la dimensione del file che possiamo ottenere passando il file come parametro alla funzione filesize($file).

Usa readfile() per leggere il file CSV in PHP

Questa funzione legge un file e salva i risultati nella memoria o nella cache. Apre il file e ne legge il contenuto. Accetta solo un parametro, che è il file.

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

Uscita:

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

La funzione fread() legge solo il file e restituisce i dati nell’editor, ma la funzione readfile() legge un file ma ne salva anche il risultato in memoria o nella cache.

Usa la funzione str_getcsv() per analizzare CSV in Python

Questa funzione analizza una stringa in formato CSV e restituisce un array contenente i dati del file. Converte i dati da un file CSV in un array, ma prima di eseguirlo, dovresti aprire il file usando la funzione fopen(), che accetta file e mode come parametri. Vedere il seguente esempio.

<?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);
?>

Produzione:

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""
}

Usa la funzione fgetcsv() per analizzare CSV in Python

Ora useremo una funzione interessante chiamata fgetcsv() per analizzare i dati da un file CSV. Per utilizzare questa funzione sono necessari i seguenti passaggi.

  1. Aprire il file per accedere ai dati del file da un file
  2. Utilizzare la funzione fgetcsv() all’interno di un bucle per analizzare separatamente ogni riga del file.
  3. Chiudi il file

Vedi il codice di esempio.

<?php

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

Produzione:

<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>

Articolo correlato - PHP File