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