다음을 통해 공유


Csv.Document

구문

 
Csv.Document(source as any, optional columns as any, optional delimiter as any, optional extraValues as nullable number, optional encoding as nullable number) as table

소개

CSV 문서의 내용을 테이블로 반환합니다.

  • columns 은 null, 열 수, 열 이름 목록, 테이블 형식 또는 옵션 레코드일 수 있습니다.
  • delimiter는 행을 연속 공백 문자로 분할해야 함을 나타내는 단일 문자, 문자 목록 또는 ""값일 수 있습니다. 기본값: ",".
  • ExtraValues.Type의 지원되는 값은 extraValues을 참조하세요.
  • encoding텍스트 인코딩 형식을 지정합니다 .

columns에 대해 레코드가 지정되어 있고, delimiter, extraValues, encoding가 null인 경우, 다음 레코드 필드가 제공될 수 있습니다.

  • Delimiter: 단일 문자 열 구분 기호입니다. 기본값: ",".
  • Columns: null, 열 수, 열 이름 목록 또는 테이블 형식일 수 있습니다. 열 수가 입력에 있는 수보다 낮으면 추가 열이 무시됩니다. 열 수가 입력에 있는 수보다 높은 경우 추가 열은 null이 됩니다. 지정하지 않으면 열 수는 입력에 있는 항목에 따라 결정됩니다.
  • Encoding: 파일의 텍스트 인코딩입니다. 기본값: 65001(UTF-8).
  • CsvStyle: 따옴표 처리 방법을 지정합니다.
    • CsvStyle.QuoteAfterDelimiter (기본값): 필드의 따옴표는 구분 기호 바로 다음에 올 때에만 의미를 갖습니다.
    • CsvStyle.QuoteAlways: 필드의 따옴표는 표시 위치와 상관없이 항상 의미를 갖습니다.
  • QuoteStyle: 따옴표로 묶인 줄 바꿈 처리 방법을 지정합니다.
    • QuoteStyle.Csv (기본값): 따옴표 붙은 줄 바꿈은 현재 행의 끝이 아니라 데이터의 일부로 처리됩니다.
    • QuoteStyle.None: 모든 줄 바꿈은 따옴표 붙은 값 내에서 발생하는 경우에도 현재 행의 끝으로 처리됩니다.
  • IncludeByteOrderMark: CSV 출력의 시작 부분에 BOM(바이트 순서 표시)을 포함할지 여부를 나타내는 논리 값입니다. 로 true설정하면 BOM이 기록됩니다(예: UTF-8 BOM: 0xEF 0xBB 0xBF);로 설정 false하면 BOM이 포함되지 않습니다. 이 옵션은 출력 시나리오에서만 적용됩니다. 기본값은 false입니다.
  • ExtraValues: ExtraValues의 지원되는 값을 ExtraValues.Type에서 참조하세요.

예 1

열 머리글로 CSV 텍스트를 처리합니다.

사용법

let
    csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv))

출력

Table.FromRecords({
    [OrderID = "1", Item = "Fishing rod"],
    [OrderID = "2", Item = "1 lb. worms"]
})

예제 2

여러 구분 기호 문자를 사용하여 CSV 텍스트를 처리합니다. 이 예제에서 세 번째 매개 변수는 기본값 대신 사용할 구분 기호 패턴을 #|# 지정합니다.

사용법

let
    csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))

출력

Table.FromRecords({
    [OrderID = "1", Color = "Red"],
    [OrderID = "2", Color = "Blue"]
})