PHP에서 CSV 파일 읽기 또는 구문 분석

Muhammad Abubakar 2023년1월30일
  1. fread()를 사용하여 PHP에서 CSV 파일 읽기
  2. readfile()을 사용하여 PHP에서 CSV 파일 읽기
  3. str_getcsv()함수를 사용하여 Python에서 CSV 구문 분석
  4. fgetcsv()함수를 사용하여 Python에서 CSV 구문 분석
PHP에서 CSV 파일 읽기 또는 구문 분석

파일 처리는 모든 웹 애플리케이션의 필수 구성 요소입니다. 이 튜토리얼에서는 파일 처리를 사용하여 파일을 읽고, 쓰고, 추가하는 방법을 소개합니다.

fread()를 사용하여 PHP에서 CSV 파일 읽기

PHP에서 CSV 파일을 읽는 기본 기능입니다. 파일을 읽고 파일에있는 모든 내용을 반환합니다.

예제 코드를 참조하십시오.

<?php
$file = "text1.csv";
$openfile = fopen($file, "r");
$cont = fread($openfile, filesize($file));
echo $cont;
?>  

출력:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

fread()에는 두 개의 매개 변수가 필요합니다. 데이터를 읽으려는 파일과 파일을 매개 변수로filesize($file)함수에 전달하여 얻을 수있는 파일의 크기입니다.

readfile()을 사용하여 PHP에서 CSV 파일 읽기

이 함수는 파일을 읽고 결과를 메모리 또는 캐시에 저장합니다. 파일을 열고 파일의 내용을 읽습니다. 파일이라는 하나의 매개 변수 만 허용합니다.

<?php
echo readfile("text1.csv");
?>

Ouput :

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
49

fread()함수는 파일을 읽고 편집기에 데이터를 반환하지만readfile()함수는 파일을 읽고 그 결과를 메모리 나 캐시에 저장합니다.

str_getcsv()함수를 사용하여 Python에서 CSV 구문 분석

이 함수는 CSV 형식의 문자열을 구문 분석하고 파일의 데이터를 포함하는 배열을 반환합니다. CSV 파일의 데이터를 배열로 변환하지만 실행하기 전에 파일 및 모드를 매개 변수로 사용하는fopen()함수를 사용하여 파일을 열어야합니다. 다음 예를 참조하십시오.

<?php
$handle = fopen("text1.csv", "r");
$lineNumber = 1;
while (($raw_string = fgets($handle)) !== false) {
    $row = str_getcsv($raw_string);
    var_dump($row);
    $lineNumber++;
}
fclose($handle);
?>

출력:

array(4) {
  [0]=>
  string(3) "aaa"
  [1]=>
  string(3) "bbb"
  [2]=>
  string(3) "ccc"
  [3]=>
  string(4) "dddd"
}
array(3) {
  [0]=>
  string(3) "123"
  [1]=>
  string(3) "456"
  [2]=>
  string(3) "789"
}
array(2) {
  [0]=>
  string(5) ""aaa""
  [1]=>
  string(5) ""bbb""
}

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

이제fgetcsv()라는 멋진 함수를 사용하여 CSV 파일에서 데이터를 구문 분석합니다. 이 기능을 사용하려면 다음 단계가 필요합니다.

  1. 파일을 열어 파일에서 파일 데이터에 액세스
  2. 루프 내에서fgetcsv()함수를 사용하여 파일의 각 행을 개별적으로 구문 분석합니다.
  3. 파일을 닫습니다

예제 코드를 참조하십시오.

<?php

$file = fopen('text1.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
    echo '<pre>';
    print_r($line);
    echo '</pre>';
}
fclose($file);
?>

출력:

<pre>Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => dddd
)
</pre><pre>Array
(
    [0] => 123
    [1] => 456
    [2] => 789
)
</pre><pre>Array
(
    [0] => "aaa"
    [1] => "bbb"
)
</pre>

관련 문장 - PHP File