Опции чтения файлов в Envision

Список опций чтения файлов












Главная » Ресурсы » Здесь

Оператор read в Envision дает возможность загрузить в таблицу один или несколько файлов. Ниже показаны различные опции, связанные с оператором read.


Обзор синтаксиса

Обычный синтаксис для считывания файлов в Envision:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  "Order Date" as OrderDate : date
  "Quantity" as Qty
Текст, который находится сразу же за ключевым словом read, называется путь. Путь нужен для сопоставления файлов, которые находятся в памяти учетной записи Lokad.

После ключевого слова with столбцы прописывать не нужно. В данном случае столбцы доступны в сценарии Envision, если их имена являются допустимыми переменными (например, в названии столбца нельзя использовать пробелы). Основное назначение ключевого слова as заключается в переименовании таблиц и столбцов.

Если опцию as после оператора read опустить, то Envision прочитает этот файл как часть таблицы items.

Считывание нескольких файлов

Если в пути указать подстановочный знак [*], то можно будет одновременно считывать несколько файлов:
read "/sample/Lokad_Orders*.gz" as Orders
Можно ставить несколько подстановочных знаков.

Фильтр одного файла из нескольких

Чтобы выбрать один из исходных файлов, указанных с помощью подстановочного знака, с оператором read можно использовать 3 разных ключа:
  • min: выбирается только первый файл из набора, файлы сортируются по именам.
  • min: выбирается только последний файл из набора, файлы сортируются по именам.
  • latest: из набора выбирается тот файл, с которым вы недавно работали.

Такие ключи можно использовать следующим образом:
read max "/sample/Lokad_Orders*.gz" as Orders

Фильтр нескольких файлов из набора

Чтобы выбрать из исходного набора файлов те, которые находятся в одной папке, нужно после оператора read поставить знак процента (%) — только один — и указать нужную папку.
read max "/%/Lokad_Orders*.gz" as Orders

Оператор read считает все файлы, которые находятся в папке, указанной в ключе. Папки в Lokad не имеют даты последнего изменения, поэтому со знаком процента можно использовать только ключи min и max. Если стоит знак процента, обязательно должен быть хотя бы один ключ read.

Опции таблиц

Оператор read поддерживает несколько опций:
  • skip (number): Показывает, сколько строк нужно пропустить в начале файла при его прочтении. Если параметр не указан, значение по умолчанию равно нулю.
  • separator (текст): Показывает, что при прочтении файла нужно использовать разделитель между значениями ячеек. Если параметр не указан, Envision проведет эвристический анализ для автоматического обнаружения подходящего разделителя.
  • quotes (логическое): Если указано значение false, крайние значения, найденные в маркере ячейки, считаются его частью и не выпускаются. Если параметр не указан, значение по умолчанию устанавливается на true и Envision выпускает крайние значения, как это обычно бывает с файлами CSV (файлы данных с разделителями-запятыми).
  • encoding (текст): При прочтении файла будет использоваться кодирование текста. Допустимые значения для кодировки: UTF-8, UTF-16 и latin1. Если параметр не указан, Envision проведет эвристический анализ для автоматического обнаружения подходящей кодировки.

В сценарии ниже показано, как можно указывать описанные опции:
read "/sample/Lokad_Orders.csv.gz" skip:0 separator:"\t" quotes:false encoding:"UTF-8"

Опции типов таблиц

Envision позволяет задавать основные ключи таблицы, перечисляя их в скобках сразу же после указания имени таблицы. Существует всего 7 допустимых комбинаций первичных ключей:
read "a.csv" as A(*)
read "b.csv" as B(Id)
read "c.csv" as C(Id, *)
read "d.csv" as D(Date)
read "e.csv" as E(Date,*)
read "f.csv" as F(Id, Date)
read "g.csv" as G(Id, Date,*)

Тип таблицы можно не указывать. В данном случае по умолчанию применяется тип (Id, Date, *).

Опции столбцов

Для всех считываемых столбцов поддерживаются различные опции:

  • Тип данных в столбце может быть: text, number, date, bool или distribution. Тип данных вводится после двоеточия (:), которое ставится после имени столбца.
  • date: строка формата даты
  • number: строка формата чисел

В сценарии ниже показано, как используются опции столбцов:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  date:"dd-MM-yyy" as OrderDate : date
  number:"1,000.00" as Qty

Указывать столбцы необязательно. Указывать тип данных в столбце также необязательно, даже если столбец указан. Если тип данных столбца не указан в операторе read, он вычисляется по его использованию в сценарии Envision.

Распределения являются сложным типом данных, который поддерживается только в файлах формата ion в Lokad.

Опции чисел

Строка формата чисел имитирует нужный формат отображения чисел:
  • Символ после первой 1 является делителем разряда тысяч. Его можно опустить.
  • Символ перед последними двумя нулями отделяет десятичную дробь. Его можно опустить.

Опции даты

Строка формата даты (опция date) может состоять из следующих ключей:

  • d: день месяца с 1 по 31
  • dd: то же самое, что d, но с 0 впереди
  • ddd: день недели в сокращенном виде (например, пн, вт и т. д.)
  • dddd: дни недели полностью (понедельник и т. д.)
  • MM: номер месяца с 1 по 12.
  • MMM: название месяца в сокращенном виде (янв)
  • MMMM: название месяца полностью (июнь)
  • yy: год от 00 до 99, две последние цифры
  • yyyy: год, четыре цифры