Kuidas parsida CSV-faili PHP-ga

Kuidas Parsida Csv Faili Php Ga



CSV failid sisaldavad komadega eraldatud väärtusi ja on populaarne, väljakujunenud andmetöötlusvorming, mida kasutatakse andmete tabelina salvestamiseks. Neid faile saab hõlpsasti luua MS Exceli, OpenOffice'i ja Google'i arvutustabelitega. Parsimine CSV fail loeb faili ridade kaupa ja eraldab read massiiviväärtusteks.

Selles juhendis selgitame, kuidas saate a sõeluda CSV faili kasutades PHP-d.







Parsi CSV-fail PHP-ga

PHP-i sisseehitatud meetod, mis analüüsib CSV-faili, on fgetcsv() ja see loeb CSV-failist rea ja analüüsib selle massiiviks.



Kasutamise süntaks fgetcsv() PHP funktsioon on järgmine:



fgetcsv ( '.csv' , pikkus , ',' )

See funktsioon aktsepteerib kolm parameetrit, faili nimi, pikima rea ​​valikuline parameetri pikkus ja seejärel veel üks valikuline parameetrivälja eraldaja. Vaikimisi väljade eraldaja on koma koos jutumärkidega.





PHP-s CSV-faili sõelumiseks kasutage funktsiooni fgetcsv().

Siin on, kuidas saate kasutada fgetcsv() funktsioon CSV-faili sõelumiseks PHP-s:

Samm 1 : Esmalt avage CSV-fail, kasutades fopen() funktsiooni. Siin r režiim kasutatakse faili avamiseks lugemiseks ja $käepide on käepide faili andmete hoidmiseks:



$käepide = fopen ( 'failinimi.csv' , 'r' ) ;

2. samm : pärast seda saate iga sõelumiseks kasutada ajatsüklit CSV rida eraldi, jätkub tsükkel faili lõpuni:

samal ajal ( ( $andmed = fgetcsv ( $käepide , 1000 , ',' ) ) !== VALE )

{

// Lugege CSV-faili andmeid

}

3. samm : Kui fail on loetud, peate selle sulgema funktsiooni fclose() abil, jättes ainsa argumendina käepideme.

fclose ( $käepide ) ;

Siin on täielik PHP-kood, mis järgib ülaltoodud samme ja võimaldab avada CSV-faili kirjutuskaitstud režiimis, kui fail leitakse, vastasel juhul tagastab see vale :



$käepide = fopen ( 'data.csv' , 'r' ) ;

samal ajal ( ( $rida = fgetcsv ( $käepide ) ) !== vale ) {

var_dump ( $rida ) ;

}

fclose ( $käepide ) ;

?>

Ülaltoodud kood avab esmalt lugemisrežiimis faili 'data.csv', kasutades funktsiooni fopen() ja määrab failikäepideme muutujale $handle. Pärast seda loeb see faili iga rida, kasutades while-tsüklit ja funktsiooni fgetcsv(). Kood kasutab !== vale võrdlust, et tagada lugemine kuni faili lõpuni.

Väljund

Teisendage CSV-fail PHP-s mitmemõõtmeliseks massiiviks

Samuti saate sõeluda a CSV faili, teisendades selle mitmemõõtmeliseks massiiviks, nii et andmeid tuleks faili sees hõlpsasti lugeda. Järgmine kood aitab teil CSV-failist andmeid organiseeritumalt eraldada.



$ failinimi = 'data.csv' ;

$pesastatud_massiiv = [ ] ;

kui ( ( $käepide = fopen ( ' {$filename} ' , 'r' ) ) !== VALE )

{

samal ajal ( ( $andmed = fgetcsv ( $käepide , 1000 , ',' ) ) !== VALE )
{
$pesastatud_massiiv [ ] = $andmed ;
}
fclose ( $käepide ) ;


}

kaja '' ;

var_dump ( $pesastatud_massiiv ) ;

kaja '' ;

Andmete loetavas vormingus muutmiseks kasutab ülaltoodud kood funktsiooni nimega var_dump() mis vormindab ja väljastab andmed struktureeritud viisil HTML-i eelsildis.

Väljund

Siin on veel üks viis selle avamiseks CSV faili PHP-s kohandatud viisil. Allpool antud kood kuvab iga rea ​​andmed. Esiteks avasime faili kasutades funktsioon fopen(). . Seejärel kasutage faili iga rea ​​paigutamiseks käepidet ja kogu lugemiseks tsüklit while CSV faili, kuni kursor jõuab faili lõppu. Lõpus sulgeme faili:



$rida = 1 ;

kui ( ( $käepide = fopen ( 'data.csv' , 'r' ) ) !== VALE ) {

samal ajal ( ( $andmed = fgetcsv ( $käepide , 1000 , ',' ) ) !== VALE ) {

$numbrid = loendama ( $andmed ) ;

kaja '

$numbrid väljad reas $rida :

\n '
;

$rida ++;

jaoks ( $c = 0 ; $c < $numbrid ; $c ++ ) {

kaja $andmed [ $c ] . '
\n '
;

}

}

fclose ( $käepide ) ;

}

?>

Väljund

Alumine joon

sisse PHP , saame faili avada kasutades fopen() funktsiooni, lugege faili ridade kaupa, kasutades fgetcsv() funktsiooni ja sulgege fail kasutades fclose() funktsiooni. Seda protsessi saab korrata iga rea ​​jaoks CSV faili, mis võimaldab teil PHP-s tabeliandmeid hõlpsasti lugeda ja töödelda.