Share 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: ",".
  • Veja ExtraValues.Type para obter os valores de extraValues com suporte.
  • encoding especifica 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: o delimitador de coluna. 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"]