Перейти к основному содержимому

Csv.Document

Возвращает содержимое документа CSV в виде таблицы.

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

Возвращает содержимое CSV-документа в виде таблицы.

  • columns может содержать значение NULL, число столбцов, список имен столбцов, тип таблицы или запись параметров.
  • delimiter может быть одним символом, списком символов или значением "", указывающим количество строк, которые следует разделить с использованием последовательных символов пробела. По умолчанию: ",".
  • Поддерживаемые значения extraValues см. в описании ExtraValues.Type.
  • encoding определяет тип кодировки текста.
Если для columns указана запись (а delimiter, extraValues и encoding имеют значение NULL), в записи можно указать следующие поля:
  • Delimiter. Разделитель столбцов. По умолчанию: ",".
  • Columns. Может содержать значение NULL, число столбцов, список имен столбцов или тип таблицы. Если число столбцов меньше их числа во входных данных, дополнительные столбцы будут игнорироваться. Если число столбцов превышает их число во входных данных, дополнительные столбцы будут иметь значение NULL. Если значение не указано, число столбцов будет определяться входными данными.
  • Encoding. Кодировка текста файла. По умолчанию: 65001 (UTF-8).
  • CsvStyle. Определяет обработку кавычек.
    • CsvStyle.QuoteAfterDelimiter (по умолчанию). Кавычки в поле учитываются только сразу после разделителя.
    • CsvStyle.QuoteAlways. Кавычки в поле всегда учитываются независимо от того, где они находятся.
  • QuoteStyle. Определяет обработку разрыва строк в кавычках.
    • QuoteStyle.Csv (по умолчанию). Разрывы строк в кавычках рассматриваются как часть данных, а не как конец текущей строки.
    • QuoteStyle.None. Все разрывы строк рассматриваются как конец текущей строки, даже если они находятся внутри значения в кавычках.

Examples

Example #1

Обработка текста в формате CSV с заголовками столбцов

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

Category

Accessing data