Estrai dati da file esterno , dati separati da virgola
CSV che significa comma separated value (valori separati da virgola) ha un utilizzo semplice per quanto riguarda l'estrazione delle stringhe testo, separate da un separatore(virgola di default) e il loro utilizzo successivo in un array .
un esempio puo essere la scrittura o lettura da un file formato da campi come
nome, cognome, eta
Se vogliamo estrarre dei dati separati da virgola, scritti in un file di testo esterno useremo la funzione fgetcsv, in questo modo :
1 $file = "file_da_leggere.csv"; //il file testo esterno in cui avremo al suo interno con valori, stringhe, separati da virgole
2 $riga=1; //ci servira come riferimento
3 $apri_file = fopen($file, "r"); //apertura del file
4 $size=filesize($file_da_leggere); // rilevo la dimensione del file esterno in modo da poterlo poi scorrere fino alla fine.
5 while (($dati = fgetcsv($apri_file, $size, ",")) !== FALSE) {//contero i dati del file uplodato in csv e prendero i singoli valori separato da virgola, fgetcsv() analizza le righe lette alla ricerca di campi in formato CSV e restituisce un vettore contenente i campi letti, se trova un interruzione di linea, o testo a capo termina la sua esecuzione.
6 $num = count($dati); //conto i valori della prima riga
7 echo "$num campi sulla linea $riga: ";
8 $riga++; // valutera poi la riga successiva, incrementeremo la variabile $riga
9 for ($c=0; $c<$num; $c++) { //utilizziamo il ciclo for, per scorrere tutti gli elementi dell'array formato dai valori separati da virgola della prima riga.
10 echo $dati[$c] .","; //eseguo la stampa
11 }
12 }
13 fclose ($fp); //funzione di chiusura della precedente apertura di fopen file.
il file in estensione csv, o in txt utilizzato e' :
FILE ESTERNO:
l' a video nello schermo sara' in questo caso ,
OUTPUT:
descizione funzione fgetcsv
La funzione
fgetcsv prende come parametri per il suo utilizzo tre argomenti,
il puntatore file,
la quantita' dati da leggere, e non obbligatorio il
demilitatore del campo.
Tramite queste informazione la funzione analizza (in lettura 'r' in questo esempio) una singola riga dal file , e salva i campi come elementi di array.
Nell'esempio proposto viene poi usato un
ciclo FOR per scorrere, leggere, tutti i valori (detti anche record) nel file csv.
Nessun commento:
Posta un commento