>  기사  >  백엔드 개발  >  PHP에서 CSV 파일 읽기 예제

PHP에서 CSV 파일 읽기 예제

怪我咯
怪我咯원래의
2017-07-16 14:42:391709검색

CSV는 사용자, 비즈니스 및 과학 분야에서 널리 사용되는 다용도의 비교적 간단한 파일 형식입니다. 가장 널리 사용되는 응용 프로그램은 자체적으로 호환되지 않는 형식(종종 독점 및/또는 비정규 형식)에서 작동하는 프로그램 간에 표 형식 데이터를 전송하는 것입니다. 많은 프로그램이 적어도 선택적 입력/출력 형식으로 CSV의 일부 변형을 지원하기 때문입니다.

예를 들어, 사용자는 독점 형식으로 데이터를 저장하는 데이터베이스 프로그램의 정보를 완전히 다른 형식의 데이터가 포함된 스프레드시트로 교환해야 할 수 있습니다. 대부분의 경우 데이터베이스 프로그램은 데이터를 "CSV"로 내보낼 수 있으며 내보낸 CSV 파일은 스프레드시트 프로그램으로 가져올 수 있습니다.

  • "CSV"는 잘 정의된 단일 형식이 아닙니다(RFC 4180에 일반적으로 사용되는 정의가 있지만). 따라서 실제로 "CSV"라는 용어는 다음과 같은 모든 파일을 광범위하게 의미합니다.

  • 특정 문자 집합 을 사용하는 일반 텍스트(예: ASCII, 유니코드, EBCDIC 또는 GB2312

  • ) 일반적으로 한 줄에 하나의 레코드가 있습니다.

  • 각 레코드는 구분 기호로 필드로 구분됩니다(일반적인 구분 기호는 쉼표, 세미콜론 또는 탭이며 때로는 구분 기호에 선택적 공백이 포함될 수 있음).

  • 각 레코드에는 동일한 필드 순서가 있습니다. .

이러한 일반적인 제약 조건에는 CSV 변형이 많기 때문에 CSV 파일이 완전히 상호 운용되지는 않습니다. 그러나 이러한 변형은 매우 사소하며 사용자가 파일을 미리 보고(일반 텍스트이기 때문에 가능함) 구분 기호, 이스케이프 규칙 등을 지정할 수 있는 응용 프로그램이 많이 있습니다. 특정 CSV 파일의 변형이 너무 커서 특정 수신 프로그램이 지원할 수 없는 경우 실행 가능한 접근 방식은 파일을 수동으로 검사 및 편집하거나 간단한 프로그램을 통해 문제를 해결하는 것입니다. 따라서 실제로는 CSV 파일이 여전히 매우 편리합니다.


이 글에서는 주로 PHP에서 구현한 CSV 파일 읽기 기능을 소개하며, PHP에서 CSV 파일을 읽는 작업 기술과 strings, 배열 순회 및 변환 등을 예제 형식으로 분석합니다.

function read_csv($cvs) {
  $shuang = false;
  $str = file_get_contents($cvs);
  for ($i=0;$i<strlen($str);$i++) {
    if($str{$i}==&#39;"&#39;) {
      if($shuang) {
        if($str{$i+1}==&#39;"&#39;) {
          $str{$i} = &#39;*&#39;;
          $str{$i+1} = &#39;*&#39;;
        } else {
          $shuang = false;
        }
      } else {
        $shuang = true;
      }
    }
    if($str{$i}==&#39;,&#39;) {
      if($shuang) {
      } else {
        $str{$i} = &#39;|&#39;;
      }
    }
    if($str{$i}=="\n") {
      if($shuang) {
        $str{$i} = &#39;^&#39;;
      } else {
      }
    }
  }
  $str = str_replace(array(&#39;"&#39;,&#39;*&#39;),array(&#39;&#39;,&#39;"&#39;),$str);
  $a1 = explode("\n",$str);
  $array = array();
  foreach($a1 as $k=>$value) {
    if($value) {
      $value = str_replace("^","\n",$value);
      $array[$k] = explode("|",$value);
    }
  }
  return $array;
}
를 참조할 수 있습니다.

위 내용은 PHP에서 CSV 파일 읽기 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.