Kaip išanalizuoti CSV failą naudojant PHP

Kaip Isanalizuoti Csv Faila Naudojant Php



CSV failuose yra kableliais atskirtos reikšmės ir yra populiarus, nusistovėjęs duomenų tvarkymo formatas, naudojamas duomenims saugoti lentelės pavidalu. Šiuos failus galima lengvai sukurti naudojant MS Excel, OpenOffice ir Google Sheets. Analizuojant CSV failas skaito failą eilutę po eilutės ir padalija eilutes į masyvo reikšmes.

Šiame vadove paaiškinsime, kaip galite išanalizuoti a CSV failą naudojant PHP.







Išanalizuokite CSV failą naudodami PHP

Įtaisytasis PHP metodas, analizuojantis CSV failą, yra fgetcsv() ir nuskaito eilutę iš CSV failo ir analizuoja ją į masyvą.



Naudojimo sintaksė fgetcsv() PHP funkcija yra tokia:



fgetcsv ( '.csv' , ilgio , ',' )

Ši funkcija priimama trys parametrai, failo pavadinimas, pasirenkamas ilgiausios eilutės parametro ilgis ir kitas pasirenkamas parametro lauko skyriklis. Numatytasis lauko skyriklis yra kablelis su dvigubomis kabutėmis kaip priedas.





Naudokite fgetcsv() funkciją, kad išanalizuoti CSV failą PHP

Štai kaip galite naudoti fgetcsv() funkcija CSV failo analizei PHP:

1 žingsnis : Pirmiausia atidarykite CSV failą naudodami fopen () funkcija. Čia r režimas naudojamas failui atidaryti skaitymui ir $rankena yra rankena, skirta duomenims iš failo laikyti:



$rankena = fopenas ( 'failo pavadinimas.csv' , 'r' ) ;

2 žingsnis : po to galite naudoti ciklą, kad išanalizuoti kiekvieną CSV eilutę atskirai, ciklas tęsis iki failo pabaigos:

kol ( ( $duomenys = fgetcsv ( $rankena , 1000 , ',' ) ) !== NETEISINGA )

{

// Skaityti CSV failo duomenis

}

3 veiksmas : Kai failas bus perskaitytas, turite jį uždaryti naudodami fclose() funkciją, kaip vienintelį argumentą perduodant rankenėlę.

fclose ( $rankena ) ;

Čia yra visas PHP kodas, kuris atlieka aukščiau nurodytus veiksmus ir leidžia atidaryti CSV failą tik skaitymo režimu, jei failas rastas, kitaip jis grįš klaidinga :



$rankena = fopenas ( 'duomenys.csv' , 'r' ) ;

kol ( ( $eilutė = fgetcsv ( $rankena ) ) !== klaidinga ) {

var_dump ( $eilutė ) ;

}

fclose ( $rankena ) ;

?>

Aukščiau pateiktas kodas pirmiausia atidaro failą „data.csv“ skaitymo režimu, naudodamas funkciją fopen () ir priskiria failo rankenėlę kintamajam $handle. Po to jis nuskaito kiekvieną failo eilutę naudodamas ciklą ir fgetcsv () funkciją. Kode naudojamas !== klaidingas palyginimas, kad būtų užtikrintas skaitymas iki failo pabaigos.

Išvestis

Konvertuokite CSV failą į daugiamatį masyvą PHP

Taip pat galite išanalizuoti a CSV failą konvertuodami į daugiamatį masyvą, kad duomenys būtų lengvai skaitomi failo viduje. Šis kodas padės lengviau išgauti duomenis iš CSV failo.



$failo pavadinimas = 'data.csv' ;

$nested_array = [ ] ;

jeigu ( ( $rankena = fopenas ( {$filename} , 'r' ) ) !== NETEISINGA )

{

kol ( ( $duomenys = fgetcsv ( $rankena , 1000 , ',' ) ) !== NETEISINGA )
{
$nested_array [ ] = $duomenys ;
}
fclose ( $rankena ) ;


}

aidas
  ; 

var_dump ( $nested_array ) ;

aidas '
'
;

Kad duomenys būtų skaitomu formatu, aukščiau pateiktas kodas naudoja funkciją, vadinamą var_dump() kuris struktūriškai formatuoja ir išveda duomenis HTML išankstinėje žymoje.

Išvestis

Čia yra dar vienas būdas atidaryti CSV PHP failą labiau pritaikytu būdu. Žemiau pateiktas kodas parodys kiekvienos eilutės duomenis. Pirmiausia atidarėme failą naudodami funkcija fopen(). . Tada naudokite rankenėlę, kad įterptumėte į ją kiekvieną failo eilutę, ir naudokite while kilpą, kad perskaitytumėte visą CSV failą, kol žymeklis pasieks failo pabaigą. Pabaigoje uždarome failą:



$eilutė = 1 ;

jeigu ( ( $rankena = fopenas ( 'duomenys.csv' , 'r' ) ) !== NETEISINGA ) {

kol ( ( $duomenys = fgetcsv ( $rankena , 1000 , ',' ) ) !== NETEISINGA ) {

$numeriai = skaičiuoti ( $duomenys ) ;

aidas '

$numeriai laukai vienoje eilėje $eilutė :

\n
;

$eilutė ++;

dėl ( $c = 0 ; $c < $numeriai ; $c ++ ) {

aidas $duomenys [ $c ] . '
\n
;

}

}

fclose ( $rankena ) ;

}

?>

Išvestis

Apatinė eilutė

Į PHP , galime atidaryti failą naudodami fopen () funkcija, perskaitykite failą eilutė po eilutės naudodami fgetcsv() funkciją ir uždarykite failą naudodami fclose () funkcija. Šį procesą galima pakartoti kiekvienai eilutei CSV failą, leidžiantį lengvai skaityti ir valdyti lentelių duomenis PHP.