Hur man analyserar en CSV-fil med PHP

Hur Man Analyserar En Csv Fil Med Php



CSV filer innehåller kommaseparerade värden och är det populära, väletablerade datahanteringsformatet som används för att lagra data i tabellform. Dessa filer kan enkelt skapas av MS Excel, OpenOffice och Google Sheets. Att analysera CSV fil läser filen rad för rad och separerar raderna i matrisvärden.

I den här guiden kommer vi att förklara hur du kan analysera en CSV fil med PHP.







Analysera en CSV-fil med PHP

Den inbyggda PHP-metoden som analyserar CSV-filen är fgetcsv() och den läser en rad från CSV-filen och analyserar den till en array.



Syntaxen för att använda fgetcsv() Funktionen i PHP är som följer:



fgetcsv ( '.csv' , längd , ',' )

Denna funktion accepterar tre parametrar, namnet på filen, den valfria parameterlängden på den längsta raden och sedan en annan valfri parameterfältavgränsare. Standardfältavgränsaren är kommatecken med dubbla citattecken som inhägnad.





Använd funktionen fgetcsv() för att analysera en CSV-fil i PHP

Så här kan du använda fgetcsv() funktion för att analysera en CSV-fil i PHP:

Steg 1 : Öppna först en CSV-fil med hjälp av fopen() fungera. Här r-läge används för att öppna filen för läsning och $handtag är handtaget för att hålla data från filen:



$handtag = fopen ( 'filnamn.csv' , 'r' ) ;

Steg 2 : Efter det kan du använda en while-loop för att analysera varje CSV rad separat, slingan fortsätter till slutet av filen:

medan ( ( $data = fgetcsv ( $handtag , 1000 , ',' ) ) !== FALSK )

{

// Läs data från CSV-fil

}

Steg 3 : När filen är läst måste du stänga den med funktionen fclose() genom att skicka handtag som enda argument.

fstäng ( $handtag ) ;

Här är en komplett kod i PHP som följer stegen ovan och låter dig öppna CSV-filen i skrivskyddat läge, om filen hittas, annars kommer den tillbaka falsk :



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

medan ( ( $rad = fgetcsv ( $handtag ) ) !== falsk ) {

var_dump ( $rad ) ;

}

fstäng ( $handtag ) ;

?>

Ovanstående kod öppnar först filen 'data.csv' i läsläge med funktionen fopen() och tilldelar filhandtaget till variabeln $handle. Efter det läser den varje rad i filen med hjälp av en while-loop och fgetcsv()-funktionen. Koden använder !== falsk jämförelse för att säkerställa läsning tills slutet av filen nås.

Produktion

Konvertera CSV-fil till Multi-Dimensional Array i PHP

Du kan också analysera en CSV fil genom att konvertera den till en flerdimensionell array så att data enkelt kan läsas inuti filen. Följande kod hjälper dig att extrahera data från CSV-filen på ett mer organiserat sätt.



$filnamn = 'data.csv' ;

$nested_array = [ ] ;

om ( ( $handtag = fopen ( ' {$filename} ' , 'r' ) ) !== FALSK )

{

medan ( ( $data = fgetcsv ( $handtag , 1000 , ',' ) ) !== FALSK )
{
$nested_array [ ] = $data ;
}
fstäng ( $handtag ) ;


}

eko '
'  ; 

var_dump ( $nested_array ) ;

eko '
'
;

För att göra data i läsbart format använder koden ovan funktionen som kallas var_dump() som formaterar och matar ut data på ett strukturerat sätt inom en HTML pre-tagg.

Produktion

Här är ett annat sätt att öppna CSV fil i PHP på ett mer anpassat sätt. Den nedan angivna koden kommer att visa data för varje rad. Först öppnade vi filen med hjälp av fopen() funktion . Använd sedan handtaget för att placera varje rad av filen i den, och använde while-slingan för att läsa hela CSV fil tills pekaren når slutet av filen. I slutet stänger vi filen:



$rad = 1 ;

om ( ( $handtag = fopen ( 'data.csv' , 'r' ) ) !== FALSK ) {

medan ( ( $data = fgetcsv ( $handtag , 1000 , ',' ) ) !== FALSK ) {

$nummer = räkna ( $data ) ;

eko '

$nummer fält i linje $rad :

\n '
;

$rad ++;

för ( $c = 0 ; $c < $nummer ; $c ++ ) {

eko $data [ $c ] . '
\n '
;

}

}

fstäng ( $handtag ) ;

}

?>

Produktion

Slutsats

I PHP , kan vi öppna filen med hjälp av fopen() funktionen, läs filen rad för rad med hjälp av fgetcsv() funktionen och stäng filen med hjälp av fclose() fungera. Denna process kan upprepas för varje rad i CSV fil, så att du enkelt kan läsa och manipulera tabelldata i PHP.