CSV soubory obsahují hodnoty oddělené čárkami a jsou oblíbeným a dobře zavedeným formátem pro zpracování dat, který se používá k ukládání dat v tabulkové formě. Tyto soubory lze snadno vytvořit pomocí MS Excel, OpenOffice a Google Sheets. Analýza CSV soubor čte soubor řádek po řádku a rozděluje řádky do hodnot pole.
V této příručce vysvětlíme, jak můžete analyzovat a CSV soubor pomocí PHP.
Analyzujte soubor CSV pomocí PHP
Vestavěná metoda PHP, která analyzuje soubor CSV, je fgetcsv() a přečte řádek ze souboru CSV a analyzuje jej do pole.
Syntaxe použití fgetcsv() funkce v PHP je následující:
fgetcsv ( '
Tato funkce přijímá tři parametry, název souboru, volitelná délka parametru nejdelšího řádku a pak další volitelný oddělovač pole parametru. Výchozím oddělovačem polí je čárka s dvojitými uvozovkami jako přílohou.
Použijte funkci fgetcsv() k analýze souboru CSV v PHP
Zde je návod, jak můžete použít fgetcsv() funkce pro analýzu souboru CSV v PHP:
Krok 1 : Nejprve otevřete soubor CSV pomocí fopen() funkce. Tady režim r se používá k otevření souboru pro čtení a $rukojeť je úchyt pro uložení dat ze souboru:
$rukojeť = fopen ( 'název souboru.csv' , 'r' ) ;
Krok 2 : Poté můžete k analýze každého použít smyčku while CSV řádek samostatně, smyčka bude pokračovat až do konce souboru:
zatímco ( ( $data = fgetcsv ( $rukojeť , 1000 , ',' ) ) !== NEPRAVDIVÉ ){
// Čtení dat souboru CSV
}
Krok 3 : Jakmile je soubor přečten, musíte jej zavřít pomocí funkce fclose() předáním handle jako jediného argumentu.
fzavřít ( $rukojeť ) ;Zde je úplný kód v PHP, který se řídí výše uvedenými kroky a umožňuje vám otevřít soubor CSV v režimu pouze pro čtení, pokud je soubor nalezen, jinak se vrátí Nepravdivé :
$rukojeť = fopen ( 'data.csv' , 'r' ) ;
zatímco ( ( $řádek = fgetcsv ( $rukojeť ) ) !== Nepravdivé ) {
var_dump ( $řádek ) ;
}
fzavřít ( $rukojeť ) ;
?>
Výše uvedený kód nejprve otevře soubor ‚data.csv‘ v režimu čtení pomocí funkce fopen() a přiřadí popisovač souboru proměnné $handle. Poté přečte každý řádek souboru pomocí cyklu while a funkce fgetcsv(). Kód používá !== false porovnání k zajištění čtení až do konce souboru.
Výstup
Převeďte soubor CSV na vícerozměrné pole v PHP
Můžete také analyzovat a CSV převodem do vícerozměrného pole, takže data by měla být snadno čtena uvnitř souboru. Následující kód vám pomůže extrahovat data ze souboru CSV organizovanějším způsobem.
$filename = 'data.csv' ;
$nested_array = [ ] ;
-li ( ( $rukojeť = fopen ( ' {$filename} ' , 'r' ) ) !== NEPRAVDIVÉ )
{
zatímco ( ( $data = fgetcsv ( $rukojeť , 1000 , ',' ) ) !== NEPRAVDIVÉ )
{
$nested_array [ ] = $data ;
}
fzavřít ( $rukojeť ) ;
}
echo '
'
;var_dump ( $nested_array ) ;
echo '' ;
Aby byla data v čitelném formátu, výše uvedený kód používá funkci tzv var_dump() který formátuje a odesílá data strukturovaným způsobem v rámci HTML před tagu.
Výstup
Zde je další způsob, jak otevřít CSV soubor v PHP přizpůsobenějším způsobem. Níže uvedený kód zobrazí data každého řádku. Nejprve jsme soubor otevřeli pomocí funkce fopen(). . Pak použijte úchyt k umístění každého řádku souboru do něj a použijte smyčku while k přečtení celého CSV soubor, dokud ukazatel nedosáhne konce souboru. Na konci soubor zavřeme:
$řádek = 1 ;
-li ( ( $rukojeť = fopen ( 'data.csv' , 'r' ) ) !== NEPRAVDIVÉ ) {
zatímco ( ( $data = fgetcsv ( $rukojeť , 1000 , ',' ) ) !== NEPRAVDIVÉ ) {
$čísla = počet ( $data ) ;
echo '
.' $čísla pole v řadě $řádek :
$řádek ++;
pro ( $c = 0 ; $c < $čísla ; $c ++ ) {
echo $data [ $c ] . '
.' \n ' ;
}
}
fzavřít ( $rukojeť ) ;
}
?>
Výstup
Sečteno a podtrženo
v PHP , můžeme soubor otevřít pomocí fopen() funkce, čtěte soubor řádek po řádku pomocí fgetcsv() a zavřete soubor pomocí fclose() funkce. Tento proces lze opakovat pro každý řádek v CSV soubor, což vám umožní snadno číst a manipulovat s tabulkovými daty v PHP.