sabato 4 giugno 2011

Leggere ed interpretare un file csv con fgetcsv

I file csv sono spesso utilizzati per scambiare dati, sia tra sistemi che per l'utente finale.

Pur essendo dei semplici file di testo, sono l'ideale per essere utilizzati da fogli elettronici come Excel o OpenOffice, senza la necessità di ricorrere a pesanti librerie esterne che rincorrono il supporto di formati pseudo aperti.

Il php, dalla versione 5.3, supporta la lettura dei file csv con la funzione fgetcsv: la funzione legge la successiva riga e restituisce i valore del record letto in un array; di seguito potete vedere un semplice codice che legge l'intero file e ne mostra il contenuto. 

Da notare che la funzione fgetcsv permette di specificare il limitatore da utilizzare, come pure il carattere che racchiude le stringhe; nell'esempio il delimitatore è il pipe ('|'), mentre le stringhe sono racchiuse da doppi apici '"'

<?php
$pathfilename='path/nomefile.csv';
$delimiter = '|';
$enclosure = '"';

$f = fopen($pathfilename, 'r');
if ($f) {
    while ($line = fgetcsv($f,$delimiter,$enclosure)) {  
       print_r($line);
    }
    fclose($f);
} else {
    echo "Errore nella lettura del file!";
}
?>


L'array così ottenuto è pronto per ogni altra elaborazione si abbia bisogno di implementare.

Nessun commento:

Posta un commento