CSVParser - 범위 지정됨

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • CSVParser API는 CSV(쉼표로 구분된 값) 형식의 레코드를 객체 또는 배열로 구문 분석하기 위한 메서드를 제공합니다.

    이 API는 sn_impex 네임스페이스에서 실행됩니다.

    CSVParser - parseLineToArray(String cvsLine, String delimiter, String quoteCharacter)

    CSV 형식의 컨텐츠를 배열로 구문 분석합니다.

    표 1. 매개변수
    이름 유형 설명
    csvLine 문자열 구문 분석할 CSV 콘텐츠입니다.
    구분 기호 문자열 옵션입니다. 소스 CSV 컨텐츠의 필드를 설명하는 데 사용되는 문자입니다.

    기본값: 쉼표 ','

    quoteCharacter 문자열 옵션입니다. 소스 CSV 컨텐츠에서 따옴표 문자로 사용되는 문자입니다.

    기본값: 큰따옴표 '"'

    표 2. 반환
    유형 설명
    배열 전달된 CSV 컨텐츠의 각 요소에 대해 구문 분석된 값을 포함하는 배열입니다.

    예:

    {
    Joe,
    Smith,
    470 W Carmen, Chicago IL, 60640
    }

    이 예제에서는 반환된 배열로 구문 분석된 간단한 CSV 형식 콘텐츠를 보여 줍니다.

    var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
    var delimiter = ',';
    var quoteCharacter = '"';
    
    var x = new sn_impex.CSVParser().parseLineToArray(csvLine, delimiter, quoteCharacter);
    
    gs.log(x[0]);
    gs.log(x[1]);
    gs.log(x[2]);
    

    출력:

    Joe
    Smith
    1470 W Carmen, Chicago IL, 60640

    CSVParser - parseLineToObject(String cvsLine, Array headers, String delimiter, String quoteCharacter)

    CSV 형식의 콘텐츠로 전달된 컨텐츠를 객체로 구문 분석합니다.

    표 3. 매개변수
    이름 유형 설명
    csvLine 문자열 구문 분석할 CSV 콘텐츠입니다.
    헤더 문자열 배열 CSV 컨텐츠와 연결된 헤더입니다. 이러한 헤더는 의 csvLine해당 컨텐츠와 동일한 순서로 지정해야 합니다. 예를 들어, var headers = ['first_name', 'last_name', 'address'];
    구분 기호 문자열 옵션입니다. 소스 CSV 컨텐츠의 필드를 설명하는 데 사용되는 문자입니다.

    기본값: 쉼표 ','

    quoteCharacter 문자열 옵션입니다. 소스 CSV 컨텐츠에서 따옴표 문자로 사용되는 문자입니다.

    기본값: 큰따옴표 '"'

    표 4. 반환
    유형 설명
    객체 전달된 CSV 컨텐츠의 각 요소에 대한 헤더와 해당 값을 포함하는 객체입니다.

    예:

    {
    first_name: Joe,
    last_name: Smith,
    address: 1470 W Carmen, Chicago IL, 60640
    }

    이 예제에서는 반환된 개체로 구문 분석된 CSV 형식 콘텐츠를 보여 줍니다.

    var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
    var headers = ['first_name', 'last_name', 'address'];
    var delimiter = ',';
    var quoteCharacter = '"';
    
    var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);
    
    gs.log(x.first_name);
    gs.log(x.last_name);
    gs.log(x.address);
    

    출력:

    Joe
    Smith
    1470 W Carmen, Chicago IL, 60640

    이 예시에서는 헤더 매개변수의 잘못된 전달로 인한 예외 응답을 보여줍니다.

    var csvLine = '\"Joe\",\"Smith\",\"1470 W Carmen, Chicago IL, 60640\"';
    var headers = null;
    var delimiter = ',';
    var quoteCharacter = '"';
    try {
    var x = new sn_impex.CSVParser().parseLineToObject(csvLine, headers, delimiter, quoteCharacter);
    
    gs.log(x.first_name);
    gs.log(x.last_name);
    gs.log(x.address);
    }
    catch(ex) {
          gs.info(ex.message);
    }
    

    출력:

    CSVParser: Header list is empty: no thrown error
    *** Script: CSVParser: Header list is empty