Ler em inglês

Compartilhar via


Csv.Document

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 nulo, o número de colunas, uma lista de nomes de colunas, um tipo de tabela ou um registro de opções.
  • O delimiter pode ser um caractere, uma lista de caracteres ou o valor "", que indica que as linhas devem ser divididas por caracteres de espaço em branco consecutivos. Padrão: ",".
  • Consulte ExtraValues.Type para obter os valores suportados de extraValues.
  • encodingEspecifica o tipo de codificação de texto.

Se um registro for especificado para columns (e delimiter, extraValuese encoding forem nulos), os seguintes campos de registro poderão 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 for especificado, o número de colunas será determinado pelo que é encontrado na entrada.
  • Encoding: a codificação de texto do arquivo. Padrão: 65001 (UTF-8).
  • CsvStyle: especifica como as aspas são manipuladas.
    • CsvStyle.QuoteAfterDelimiter (padrão): as aspas em um campo são significativas apenas imediatamente depois do delimitador.
    • CsvStyle.QuoteAlways: as aspas em um campo são sempre significativas, independentemente do local em que aparecerem.
  • QuoteStyle: especifica como as quebras de linha entre aspas são manipuladas.
    • QuoteStyle.Csv (padrão): as quebras de linha entre aspas são tratadas como parte dos dados e não como o fim da linha atual.
    • QuoteStyle.None: todas as quebras de linha são tratadas como o final da linha atual, mesmo quando elas ocorrem dentro de um valor entre aspas.

Exemplo 1

Processa texto CSV com cabeçalhos de coluna.

Usage

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

Processe um 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.

Usage

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