CSV zawierają wartości oddzielone przecinkami i są popularnym, dobrze ugruntowanym formatem obsługi danych używanym do przechowywania danych w formie tabelarycznej. Pliki te można łatwo tworzyć w programach MS Excel, OpenOffice i Google Sheets. analizowanie CSV file odczytuje plik wiersz po wierszu i rozdziela wiersze na wartości tablicowe.
W tym przewodniku wyjaśnimy, jak przeanalizować plik CSV plik za pomocą PHP.
Przeanalizuj plik CSV za pomocą PHP
Wbudowana metoda PHP, która analizuje plik CSV to fgetcsv() i odczytuje wiersz z pliku CSV i analizuje go w tablicy.
Składnia korzystania z fgetcsv() funkcja w PHP wygląda następująco:
fgetcsv ( „
Ta funkcja akceptuje trzy parametry, nazwa pliku, opcjonalny parametr długości najdłuższego wiersza, a następnie kolejny opcjonalny ogranicznik pola parametru. Domyślnym ogranicznikiem pola jest przecinek z podwójnymi cudzysłowami jako załącznikiem.
Użyj funkcji fgetcsv(), aby przeanalizować plik CSV w PHP
Oto jak możesz użyć fgetcsv() funkcja do parsowania pliku CSV w PHP:
Krok 1 : Najpierw otwórz plik CSV za pomocą fopen() funkcjonować. Tutaj tryb r służy do otwierania pliku do odczytu i $uchwyt jest uchwytem do przechowywania danych z pliku:
$uchwyt = otwierać ( „nazwa pliku.csv” , 'R' ) ;
Krok 2 : Następnie możesz użyć pętli while do przeanalizowania każdego z nich CSV wiersz oddzielnie, pętla będzie kontynuowana do końca pliku:
chwila ( ( $dane = fgetcsv ( $uchwyt , 1000 , ',' ) ) !== FAŁSZ ){
// Odczyt danych z pliku CSV
}
Krok 3 : Po odczytaniu pliku należy go zamknąć za pomocą funkcji fclose() przekazując uchwyt jako jedyny argument.
zamknij ( $uchwyt ) ;Oto kompletny kod w PHP, który wykonuje powyższe kroki i pozwala otworzyć plik CSV w trybie tylko do odczytu, jeśli plik zostanie znaleziony, w przeciwnym razie zwróci FAŁSZ :
$uchwyt = otwierać ( 'dane.csv' , 'R' ) ;
chwila ( ( $wiersz = fgetcsv ( $uchwyt ) ) !== FAŁSZ ) {
var_dump ( $wiersz ) ;
}
zamknij ( $uchwyt ) ;
?>
Powyższy kod najpierw otwiera plik „data.csv” w trybie odczytu za pomocą funkcji fopen() i przypisuje uchwyt pliku do zmiennej $handle. Następnie odczytuje każdy wiersz pliku za pomocą pętli while i funkcji fgetcsv(). Kod używa !== fałszywego porównania, aby zapewnić odczyt do końca pliku.
Wyjście
Konwertuj plik CSV na tablicę wielowymiarową w PHP
Możesz także przeanalizować a CSV plik, konwertując go na wielowymiarową tablicę, aby dane były łatwo odczytywane w pliku. Poniższy kod pomoże ci wyodrębnić dane z pliku CSV w bardziej zorganizowany sposób.
$nazwa pliku = „dane.csv” ;
$zagnieżdżona_tablica = [ ] ;
Jeśli ( ( $uchwyt = otwierać ( ' {$nazwa pliku} ' , 'R' ) ) !== FAŁSZ )
{
chwila ( ( $dane = fgetcsv ( $uchwyt , 1000 , ',' ) ) !== FAŁSZ )
{
$zagnieżdżona_tablica [ ] = $dane ;
}
zamknij ( $uchwyt ) ;
}
Echo '
';
var_dump ( $zagnieżdżona_tablica ) ;
Echo '' ;
Aby dane były w czytelnym formacie, powyższy kod wykorzystuje funkcję o nazwie var_dump() który formatuje i wyświetla dane w ustrukturyzowany sposób w pretagu HTML.
Wyjście
Oto inny sposób otwierania pliku CSV plik w PHP w bardziej dostosowany sposób. Poniższy kod wyświetli dane każdego wiersza. Najpierw otworzyliśmy plik za pomocą funkcja fopen(). . Następnie użyj uchwytu, aby umieścić w nim każdy wiersz pliku i użyj pętli while, aby odczytać całość CSV plik, aż wskaźnik dotrze do końca pliku. Na koniec zamykamy plik:
$wiersz = 1 ;
Jeśli ( ( $uchwyt = otwierać ( 'dane.csv' , 'R' ) ) !== FAŁSZ ) {
chwila ( ( $dane = fgetcsv ( $uchwyt , 1000 , ',' ) ) !== FAŁSZ ) {
$liczby = liczyć ( $dane ) ;
Echo '
$liczby pola w linii $wiersz :
$wiersz ++;
Do ( $c = 0 ; $c < $liczby ; $c ++ ) {
Echo $dane [ $c ] . '
\N ' ;
}
}
zamknij ( $uchwyt ) ;
}
?>
Wyjście
Dolna linia
W PHP , możemy otworzyć plik za pomocą fopen() funkcja, przeczytaj plik wiersz po wierszu, używając fgetcsv() funkcję i zamknij plik za pomocą fclose() funkcjonować. Ten proces można powtórzyć dla każdej linii w pliku CSV plik, co pozwala na łatwe odczytywanie i manipulowanie danymi tabelarycznymi w PHP.