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