Passa al contenuto principale

Csv.Document

Restituisce il contenuto del documento CSV come tabella.

Syntax

Csv.Document(
source as any,
optional columns as any,
optional delimiter as any,
optional extraValues as number,
optional encoding as TextEncoding.Type
) as table

Remarks

Restituisce il contenuto del documento CSV come tabella.

  • columns può essere null, il numero di colonne, un elenco di nomi di colonna, un tipo di tabella o un record di opzioni.
  • delimiter può essere un singolo carattere, un elenco di caratteri o il valore "", che indica che le righe devono essere suddivise per spazi vuoti consecutivi. Impostazione predefinita: ",".
  • Fare riferimento a ExtraValues.Type per i valori supportati di extraValues.
  • encoding specifica il tipo di codifica del testo.

Se viene specificato un record per columns (e delimiter, extraValues e encoding sono null), è possibile specificare i campi record seguenti:

  • Delimiter: delimitatore di colonna a carattere singolo. Impostazione predefinita: ",".
  • Columns: può essere null, il numero di colonne, un elenco di nomi di colonna o un tipo di tabella. Se il numero di colonne è inferiore al numero trovato nell'input, le colonne aggiuntive verranno ignorate. Se il numero di colonne è superiore al numero trovato nell'input, le colonne aggiuntive saranno null. Se non specificato, il numero di colonne verrà determinato in base al valore trovato nell'input.
  • Encoding: codifica del testo del file. Impostazione predefinita: 65001 (UTF-8).
  • CsvStyle: specifica la modalità di gestione delle virgolette.
    • CsvStyle.QuoteAfterDelimiter (impostazione predefinita): le virgolette in un campo sono significative solo se immediatamente successive al delimitatore.
    • CsvStyle.QuoteAlways: le virgolette in un campo sono sempre significative, indipendentemente dalla posizione.
  • QuoteStyle: specifica la modalità di gestione delle interruzioni di riga tra virgolette.
    • QuoteStyle.Csv (impostazione predefinita): le interruzioni di riga tra virgolette vengono considerate come parte dei dati, non come fine della riga corrente.
    • QuoteStyle.None: tutte le interruzioni di riga vengono considerate come fine della riga corrente, anche quando si verificano all'interno di un valore racchiuso tra virgolette.
  • IncludeByteOrderMark: valore logico che indica se includere un Byte Order Mark (BOM) all'inizio dell'output CSV. Quando impostato su true, il BOM viene scritto (ad esempio, UTF-8 BOM: 0xEF 0xBB 0xBF); quando impostato su false, non viene incluso alcun BOM. Questa opzione è applicabile solo negli scenari di output. Il valore predefinito è false.
  • ExtraValues: consulta ExtraValues.Type per i valori supportati di ExtraValues.

Examples

Example #1

Consente di elaborare il testo CSV con le intestazioni di colonna.

let
csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
Table.PromoteHeaders(Csv.Document(csv))

Result:

Table.FromRecords({
[OrderID = "1", Item = "Fishing rod"],
[OrderID = "2", Item = "1 lb. worms"]
})

Example #2

Process CSV text with multiple delimiter characters. In this example, the third parameter specifies the delimiter pattern #|# to use instead of the default.

let
csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))

Result:

Table.FromRecords({
[OrderID = "1", Color = "Red"],
[OrderID = "2", Color = "Blue"]
})

Category

Accessing data