PHP를 사용하여 CSV 파일을 구문 분석하는 방법

Phpleul Sayonghayeo Csv Pail Eul Gumun Bunseoghaneun Bangbeob



CSV 파일은 쉼표로 구분된 값을 포함하며 데이터를 테이블 형식으로 저장하는 데 사용되는 잘 알려진 널리 사용되는 데이터 처리 형식입니다. 이러한 파일은 MS Excel, OpenOffice 및 Google 스프레드시트에서 쉽게 만들 수 있습니다. 구문 분석 CSV 파일은 파일을 한 줄씩 읽고 줄을 배열 값으로 구분합니다.

이 가이드에서는 CSV PHP를 사용하여 파일.







PHP를 사용하여 CSV 파일 구문 분석

CSV 파일을 구문 분석하는 PHP의 기본 제공 방법은 다음과 같습니다. fgetcsv() CSV 파일에서 한 줄을 읽고 배열로 구문 분석합니다.



사용 구문 fgetcsv() PHP의 함수는 다음과 같습니다.



fgetcsv ( '<파일 이름>.csv' , 길이 , ',' )

이 함수는 세 개의 매개변수, 파일 이름, 가장 긴 라인의 선택적 매개변수 길이, 그리고 또 다른 선택적 매개변수 필드 구분 기호. 기본 필드 구분 기호는 큰따옴표가 포함된 쉼표입니다.





fgetcsv() 함수를 사용하여 PHP에서 CSV 파일 구문 분석

사용 방법은 다음과 같습니다. fgetcsv() PHP에서 CSV 파일을 구문 분석하는 함수:

1 단계 : 먼저 다음을 사용하여 CSV 파일을 엽니다. fopen() 기능. 여기 r 모드 읽기 위해 파일을 여는 데 사용되며 $핸들 파일의 데이터를 보유하는 핸들입니다.



$핸들 = 포펜 ( '파일명.csv' , '아르 자형' ) ;

2 단계 : 그런 다음 while 루프를 사용하여 각각을 구문 분석할 수 있습니다. CSV 행을 별도로 실행하면 루프는 파일이 끝날 때까지 계속됩니다.

~하는 동안 ( ( $데이터 = fgetcsv ( $핸들 , 1000 , ',' ) ) !== 거짓 )

{

// CSV 파일의 데이터 읽기

}

3단계 : 파일을 읽으면 핸들을 유일한 인수로 전달하여 fclose() 함수를 사용하여 파일을 닫아야 합니다.

fclose ( $핸들 ) ;

다음은 위의 단계를 따르고 CSV 파일을 읽기 전용 모드로 열 수 있는 PHP의 전체 코드입니다. 파일이 발견되지 않으면 반환됩니다. 거짓 :



$핸들 = 포펜 ( '데이터.csv' , '아르 자형' ) ;

~하는 동안 ( ( $행 = fgetcsv ( $핸들 ) ) !== 거짓 ) {

var_dump ( $행 ) ;

}

fclose ( $핸들 ) ;

?>

위의 코드는 먼저 fopen() 함수를 사용하여 'data.csv' 파일을 읽기 모드로 열고 $handle 변수에 파일 핸들을 할당합니다. 그런 다음 while 루프와 fgetcsv() 함수를 사용하여 파일의 각 줄을 읽습니다. 이 코드는 !== false 비교를 사용하여 파일 끝에 도달할 때까지 읽을 수 있도록 합니다.

산출

PHP에서 CSV 파일을 다차원 배열로 변환

당신은 또한 CSV 파일 내에서 데이터를 쉽게 읽을 수 있도록 다차원 배열로 변환하여 파일을 만듭니다. 다음 코드는 보다 체계적으로 CSV 파일에서 데이터를 추출하는 데 도움이 됩니다.



$파일명 = 'data.csv' ;

$nested_array = [ ] ;

만약에 ( ( $핸들 = 포펜 ( ' {$파일 이름} ' , '아르 자형' ) ) !== 거짓 )

{

~하는 동안 ( ( $데이터 = fgetcsv ( $핸들 , 1000 , ',' ) ) !== 거짓 )
{
$nested_array [ ] = $데이터 ;
}
fclose ( $핸들 ) ;


}

에코 '<전>' ;

var_dump ( $nested_array ) ;

에코 '' ;

데이터를 읽을 수 있는 형식으로 만들기 위해 위의 코드는 다음과 같은 함수를 사용합니다. var_dump() HTML 사전 태그 내에서 구조화된 방식으로 데이터를 형식화하고 출력합니다.

산출

다음은 다른 방법으로 열 수 있습니다. CSV 보다 사용자 정의된 방식으로 PHP에서 파일. 아래 주어진 코드는 각 행의 데이터를 표시합니다. 먼저 다음을 사용하여 파일을 열었습니다. fopen() 함수 . 그런 다음 핸들을 사용하여 파일의 각 행을 배치하고 while 루프를 사용하여 전체를 읽습니다. CSV 포인터가 파일 끝에 도달할 때까지 파일. 마지막에 파일을 닫습니다.



$행 = 1 ;

만약에 ( ( $핸들 = 포펜 ( '데이터.csv' , '아르 자형' ) ) !== 거짓 ) {

~하는 동안 ( ( $데이터 = fgetcsv ( $핸들 , 1000 , ',' ) ) !== 거짓 ) {

$숫자 = 세다 ( $데이터 ) ;

에코 '

$숫자 라인에 있는 필드 $행 :

\N '
;

$행 ++;

~을 위한 ( $c = 0 ; $c < $숫자 ; $c ++ ) {

에코 $데이터 [ $c ] . '
\N '
;

}

}

fclose ( $핸들 ) ;

}

?>

산출

결론

~ 안에 PHP , 다음을 사용하여 파일을 열 수 있습니다. fopen() 함수를 사용하여 파일을 한 줄씩 읽습니다. fgetcsv() 함수를 사용하여 파일을 닫습니다. 닫기() 기능. 이 프로세스는 각 라인에 대해 반복될 수 있습니다. CSV 파일을 사용하여 PHP에서 테이블 형식 데이터를 쉽게 읽고 조작할 수 있습니다.