Partilhar via


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.
  • encodingEspecifica o tipo de codificação de texto.

Se um registro for especificado para columns (e delimiter, extraValuese 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.
  • 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"]
})