Ler em inglês

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