Csv.Documento
Sintaxe
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
Sobre
Retorna o conteúdo do documento CSV como uma tabela.
columns
pode ser null, o número de colunas, uma lista de nomes de colunas, um tipo de tabela ou um registro de opções.delimiter
pode ser um único caractere, uma lista de caracteres ou o valor""
, que indica que as linhas devem ser divididas por caracteres consecutivos de espaço em branco. Padrão:","
.- Consulte ExtraValues.Type para obter os valores suportados de
extraValues
. encoding
Especifica o tipo de codificação de texto.
Se um registro for especificado para columns
(e delimiter
, extraValues
e encoding
são nulos), os seguintes campos de registro podem ser fornecidos:
Delimiter
: Um delimitador de coluna de caractere único. Padrão:","
.Columns
: Pode ser nulo, o número de colunas, uma lista de nomes de colunas ou um tipo de tabela. Se o número de colunas for menor do que o número encontrado na entrada, as colunas adicionais serão ignoradas. Se o número de colunas for maior do que o número encontrado na entrada, as colunas adicionais serão nulas. Quando não especificado, o número de colunas será determinado pelo que for encontrado na entrada.Encoding
: A codificação de texto do arquivo. Padrão: 65001 (UTF-8).CsvStyle
: Especifica como as cotações são tratadas.- CsvStyle.QuoteAfterDelimiter (padrão): As aspas em um campo só são significativas imediatamente após o delimitador.
- CsvStyle.QuoteAlways: As citações em um campo são sempre significativas, independentemente de onde aparecem.
QuoteStyle
: Especifica como as quebras de linha entre aspas são tratadas.- QuoteStyle.Csv (padrão): As quebras de linha entre aspas são tratadas como parte dos dados, não como o final da linha atual.
- QuoteStyle.None: Todas as quebras de linha são tratadas como o final da linha atual, mesmo quando ocorrem dentro de um valor cotado.
Exemplo 1
Processar texto CSV com cabeçalhos de coluna.
Utilização
let
csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
Table.PromoteHeaders(Csv.Document(csv))
Saída
Table.FromRecords({
[OrderID = "1", Item = "Fishing rod"],
[OrderID = "2", Item = "1 lb. worms"]
})
Exemplo 2
Processar texto CSV com vários caracteres delimitadores. Neste exemplo, o terceiro parâmetro especifica o padrão #|#
de delimitador a ser usado em vez do padrão.
Utilização
let
csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))
Saída
Table.FromRecords({
[OrderID = "1", Color = "Red"],
[OrderID = "2", Color = "Blue"]
})