Kā parsēt CSV failu, izmantojot PHP

Ka Parset Csv Failu Izmantojot Php



CSV faili satur ar komatu atdalītas vērtības, un tie ir populārs, vispāratzīts datu apstrādes formāts, ko izmanto datu glabāšanai tabulas veidā. Šos failus var viegli izveidot, izmantojot MS Excel, OpenOffice un Google izklājlapas. Parsēšana CSV fails nolasa failu rindiņu pa rindiņai un atdala rindas masīva vērtībās.

Šajā rokasgrāmatā mēs paskaidrosim, kā jūs varat parsēt a CSV failu, izmantojot PHP.







Parsējiet CSV failu, izmantojot PHP

PHP iebūvētā metode, kas parsē CSV failu, ir fgetcsv() un tas nolasa rindiņu no CSV faila un parsē to masīvā.



Izmantošanas sintakse fgetcsv() PHP funkcija ir šāda:



fgetcsv ( '.csv' , garums , ',' )

Šī funkcija tiek pieņemta trīs parametri, faila nosaukums, garākās rindas izvēles parametra garums un pēc tam cits izvēles parametra lauka norobežotājs. Noklusējuma lauka norobežotājs ir komats ar pēdiņām kā pielikumu.





Izmantojiet fgetcsv() funkciju, lai parsētu CSV failu PHP

Lūk, kā jūs varat izmantot fgetcsv() funkcija CSV faila parsēšanai PHP:

1. darbība : Vispirms atveriet CSV failu, izmantojot fopen () funkciju. Šeit r režīms tiek izmantots, lai atvērtu failu lasīšanai un $rokturis ir rokturis datu glabāšanai no faila:



$rokturis = fopen ( 'faila nosaukums.csv' , 'r' ) ;

2. darbība : pēc tam varat izmantot cilpu, lai parsētu katru CSV rindu atsevišķi, cilpa turpināsies līdz faila beigām:

kamēr ( ( $dati = fgetcsv ( $rokturis , 1000 , ',' ) ) !== FALSE )

{

// Lasīt CSV faila datus

}

3. darbība : Kad fails ir nolasīts, tas ir jāaizver, izmantojot funkciju fclose(), nododot rokturi kā vienīgo argumentu.

fclose ( $rokturis ) ;

Šeit ir pilns PHP kods, kas izpilda iepriekš minētās darbības un ļauj atvērt CSV failu tikai lasīšanas režīmā, ja fails tiek atrasts, pretējā gadījumā tas atgriezīsies viltus :



$rokturis = fopen ( 'data.csv' , 'r' ) ;

kamēr ( ( $rinda = fgetcsv ( $rokturis ) ) !== viltus ) {

var_dump ( $rinda ) ;

}

fclose ( $rokturis ) ;

?>

Iepriekš minētais kods vispirms atver failu “data.csv” lasīšanas režīmā, izmantojot funkciju fopen () un piešķir faila turi mainīgajam $handle. Pēc tam tas nolasa katru faila rindiņu, izmantojot kamēr cilpu un funkciju fgetcsv (). Kods izmanto !== viltus salīdzinājumu, lai nodrošinātu lasīšanu līdz faila beigām.

Izvade

Konvertējiet CSV failu uz daudzdimensiju masīvu PHP

Varat arī parsēt a CSV failu, pārvēršot to daudzdimensiju masīvā, lai dati būtu viegli nolasāmi failā. Šis kods palīdzēs sakārtotāk izvilkt datus no CSV faila.



$faila nosaukums = 'data.csv' ;

$ligzdotas_masīvs = [ ] ;

ja ( ( $rokturis = fopen ( ' {$filename} ' , 'r' ) ) !== FALSE )

{

kamēr ( ( $dati = fgetcsv ( $rokturis , 1000 , ',' ) ) !== FALSE )
{
$ligzdotas_masīvs [ ] = $dati ;
}
fclose ( $rokturis ) ;


}

atbalss ' ' ;

var_dump ( $ligzdotas_masīvs ) ;

atbalss '' ;

Lai padarītu datus lasāmā formātā, iepriekš minētais kods izmanto izsaukto funkciju var_dump() kas formatē un izvada datus strukturētā veidā HTML priekštagā.

Izvade

Šeit ir vēl viens veids, kā atvērt CSV failu PHP pielāgotākā veidā. Tālāk norādītais kods parādīs katras rindas datus. Pirmkārt, mēs atvērām failu, izmantojot funkcija fopen(). . Pēc tam izmantojiet rokturi, lai ievietotu tajā katru faila rindu, un izmantojiet cilpu while, lai izlasītu visu CSV failu, līdz rādītājs sasniedz faila beigas. Beigās mēs aizveram failu:



$rinda = 1 ;

ja ( ( $rokturis = fopen ( 'data.csv' , 'r' ) ) !== FALSE ) {

kamēr ( ( $dati = fgetcsv ( $rokturis , 1000 , ',' ) ) !== FALSE ) {

$skaitļi = skaitīt ( $dati ) ;

atbalss '

$skaitļi lauki rindā $rinda :

\n '
;

$rinda ++;

priekš ( $c = 0 ; $c < $skaitļi ; $c ++ ) {

atbalss $dati [ $c ] . '
\n '
;

}

}

fclose ( $rokturis ) ;

}

?>

Izvade

Bottom Line

In PHP , mēs varam atvērt failu, izmantojot fopen () funkciju, izlasiet failu rindiņu pēc rindas, izmantojot fgetcsv() funkciju un aizveriet failu, izmantojot fclose() funkciju. Šo procesu var atkārtot katrai rindiņai CSV failu, ļaujot viegli lasīt un apstrādāt tabulas datus PHP.