다음을 통해 공유


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.Type의 지원되는 값을 ExtraValues에서 참조하세요.

예 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"]
})