다음을 통해 공유


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의 지원되는 값은 ExtraValues.Type을 참조하세요.
  • encoding 는 텍스트 인코딩 형식을 지정합니다.

레코드가 (및 , extraValuesdelimiterencoding null)에 columns 대해 지정된 경우 다음 레코드 필드가 제공될 수 있습니다.

  • Delimiter: 단일 문자 열 구분 기호입니다. 기본값: ",".
  • Columns: null, 열 수, 열 이름 목록 또는 테이블 형식일 수 있습니다. 열 수가 입력에 있는 수보다 낮으면 추가 열이 무시됩니다. 열 수가 입력에 있는 수보다 높은 경우 추가 열은 null이 됩니다. 지정하지 않으면 열 수는 입력에 있는 항목에 따라 결정됩니다.
  • Encoding: 파일의 텍스트 인코딩입니다. 기본값: 65001(UTF-8).
  • CsvStyle: 따옴표 처리 방법을 지정합니다.
    • CsvStyle.QuoteAfterDelimiter (기본값): 필드의 따옴표는 구분 기호 바로 다음에 올 때에만 의미를 갖습니다.
    • CsvStyle.QuoteAlways: 필드의 따옴표는 표시 위치와 상관없이 항상 의미를 갖습니다.
  • QuoteStyle: 따옴표로 묶인 줄 바꿈 처리 방법을 지정합니다.
    • QuoteStyle.Csv (기본값): 따옴표 붙은 줄 바꿈은 현재 행의 끝이 아니라 데이터의 일부로 처리됩니다.
    • QuoteStyle.None: 모든 줄 바꿈은 따옴표 붙은 값 내에서 발생하는 경우에도 현재 행의 끝으로 처리됩니다.

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