Come analizzare un file CSV utilizzando PHP

Come Analizzare Un File Csv Utilizzando Php



CSV i file contengono valori separati da virgole e sono il formato di gestione dei dati popolare e consolidato utilizzato per archiviare i dati in forma tabellare. Questi file possono essere facilmente creati da MS Excel, OpenOffice e Fogli Google. Analizzando il CSV file sta leggendo il file riga per riga e separando le righe in valori di matrice.

In questa guida, spiegheremo come analizzare un file CSV file utilizzando PHP.







Analizza un file CSV utilizzando PHP

Il metodo integrato di PHP che analizza il file CSV è fgetcsv() e legge una riga dal file CSV e la analizza in un array.



La sintassi dell'uso di fgetcsv() funzione in PHP è la seguente:



fgetcsv ( '.csv' , lunghezza , ',' )

Questa funzione accetta tre parametri, il nome del file, la lunghezza del parametro facoltativo della riga più lunga e quindi un altro delimitatore di campo del parametro facoltativo. Il delimitatore di campo predefinito è la virgola con le virgolette doppie come allegato.





Usa la funzione fgetcsv() per analizzare un file CSV in PHP

Ecco come puoi utilizzare il fgetcsv() funzione per analizzare un file CSV in PHP:

Passo 1 : Innanzitutto, apri un file CSV utilizzando l'estensione apri() funzione. Qui modalità r viene utilizzato per aprire il file per la lettura e $maniglia è l'handle per contenere i dati dal file:



$maniglia = aperto ( 'nomefile.csv' , 'R' ) ;

Passo 2 : Successivamente, puoi utilizzare un ciclo while per analizzare ciascuno CSV riga separatamente, il ciclo continuerà fino alla fine del file:

Mentre ( ( $dati = fgetcsv ( $maniglia , 1000 , ',' ) ) !== FALSO )

{

// Legge i dati del file CSV

}

Passaggio 3 : Una volta che il file è stato letto, devi chiuderlo usando la funzione fclose() passando handle come unico argomento.

fclose ( $maniglia ) ;

Ecco un codice completo in PHP che segue i passi precedenti e permette di aprire il file CSV in sola lettura, se il file viene trovato, altrimenti tornerà falso :



$maniglia = aperto ( 'dati.csv' , 'R' ) ;

Mentre ( ( $riga = fgetcsv ( $maniglia ) ) !== falso ) {

var_dump ( $riga ) ;

}

fclose ( $maniglia ) ;

?>

Il codice precedente apre prima il file 'data.csv' in modalità di lettura utilizzando la funzione fopen() e assegna l'handle del file alla variabile $handle. Successivamente, legge ogni riga del file utilizzando un ciclo while e la funzione fgetcsv(). Il codice utilizza il confronto !== false per garantire la lettura fino al raggiungimento della fine del file.

Produzione

Converti file CSV in array multidimensionale in PHP

Puoi anche analizzare a CSV file convertendolo in un array multidimensionale in modo che i dati possano essere letti facilmente all'interno del file. Il codice seguente ti aiuterà a estrarre i dati dal file CSV in modo più organizzato.



$nomefile = 'dati.csv' ;

$array_nidificato = [ ] ;

Se ( ( $maniglia = aperto ( ' {$nomefile} ' , 'R' ) ) !== FALSO )

{

Mentre ( ( $dati = fgetcsv ( $maniglia , 1000 , ',' ) ) !== FALSO )
{
$array_nidificato [ ] = $dati ;
}
fclose ( $maniglia ) ;


}

eco '
'  ; 

var_dump ( $array_nidificato ) ;

eco '
'
;

Per rendere i dati in formato leggibile, il codice precedente utilizza la funzione chiamata var_dump() che formatta e restituisce i dati in modo strutturato all'interno di un pre tag HTML.

Produzione

Ecco un altro modo per aprire il file CSV file in PHP in modo più personalizzato. Il codice indicato di seguito visualizzerà i dati di ciascuna riga. Innanzitutto, abbiamo aperto il file utilizzando l'estensione funzione fopen() . Quindi usa la maniglia per posizionare ogni riga del file al suo interno e usa il ciclo while per leggere l'intero CSV file finché il puntatore non raggiunge la fine del file. Alla fine, chiudiamo il file:



$riga = 1 ;

Se ( ( $maniglia = aperto ( 'dati.csv' , 'R' ) ) !== FALSO ) {

Mentre ( ( $dati = fgetcsv ( $maniglia , 1000 , ',' ) ) !== FALSO ) {

$numeri = contare ( $dati ) ;

eco '

$numeri campi in linea $riga :

\N '
;

$riga ++;

per ( $ c = 0 ; $ c < $numeri ; $ c ++ ) {

eco $dati [ $ c ] . '
\N '
;

}

}

fclose ( $maniglia ) ;

}

?>

Produzione

Linea di fondo

In PHP , possiamo aprire il file usando l'estensione apri() funzione, leggere il file riga per riga utilizzando l'estensione fgetcsv() funzione e chiudere il file utilizzando il fchiudi() funzione. Questo processo può essere ripetuto per ogni riga del file CSV file, che consente di leggere e manipolare facilmente i dati tabulari in PHP.