Работа с файлами
8 800 555-89-02
Войти
Документация
CTRL+K
Standalone2409
SaaS

Работа с файлами

В этой статье
  • Работа с файлами
  • Сформировать CSV
  • Архивировать
  • Распаковать
  • Загрузить в каталог
  • Получить список файлов
  • Получить CSV
  • Загрузка примера
  • Скачать содержимое файла
  • Удалить файл

Работа с файлами осуществляется с помощью блоков:

При работе с блоками пакета «Хранилище» для каждого пространства создается специальная папка с именем в виде GUID (уникальный идентификатор) в рабочем каталоге Proceset в подкаталоге filestorage %ProgramData%\Infomaximum на ОС Windows и /var/lib/infomaximum/data/ внутри контейнера на ОС Linux.

Пример каталога в Windows

Сформировать CSV

Блок создает CSV-файл из данных, полученных из предыдущих блоков.

Параметры:

  • Колонки CSV:
    • имя колонки
    • данные для колонки (добавляются через маппинг)
  • Добавлять заголовки колонок (если включено, первая строка заголовков будет названием колонок)
  • Разделитель:
    • точка с запятой
    • запятая
    • прямая черта
    • косая черта
    • табуляция
    • пробел
    • другой (появляется поле для указания разделителя)

Сформировать CSV

Сформированный файл можно архивировать и загрузить в каталог.

Архивировать

Блок архивирует данные файла, полученные из предыдущего блока, в формат gzip.

Файл, который необходимо архивировать, указывается в поле Содержимое файла с помощью маппинга.

Архивировать

Полученный архив можно загрузить в каталог и распаковать.

Распаковать

Блок предназначен для разархивации входного файла формата gzip.

Архив, который необходимо распаковать, укажите в поле Содержимое файла с помощью маппинга. Также можно указать название и расширение файла, необходимое для распакованного файла.

Распаковать

Загрузить в каталог

Блок создает файл и загружает его в указанный каталог в любом заданном формате.

Параметры блока:

  • путь к файлу (для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к создаваемому файлу необходимо указывать с названием и расширением файла. Название файла может быть указано любое. Например, /имяпапки/имяфайла.csv. При загрузке архива укажите расширение .gzip. Путь также можно указать с помощью маппинга. В этом случае рядом с полем укажите расширение)
  • содержимое файла (используются только поля маппинга). Может содержать:
    • текст
    • текст и теги маппинга. Содержимое должно быть однородно, невозможно совместить картинку и текст
    • теги маппинга. Содержимое должно быть однородно, невозможно совместить картинку и текст

Загрузить в каталог

Загрузить файл возможно только при запуске всего скрипта, так как данные поступают от предыдущих блоков. При одиночном тестировании блока создается пустой файл без содержимого.

Получить список файлов

Блок позволяет получить список файлов, их характеристики и информацию о каталоге.

В поле Путь к каталогу для блоков пакета «Хранилище» укажите путь относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Для ввода пути к папке можно использовать как поля маппинга, так и текст.

Получить список файлов

Блок возвращает массив с данными:

  • name — название файла/каталога (тип String)
  • size — размер файла/каталога в байтах (тип String)
  • owner — владелец файла/каталога (тип String)
  • group — группа, к которой относится владелец файла/каталога (тип String)
  • modification_time — время последнего изменения файла/каталога (тип DateTime)
  • permissions — права пользователя на файл/каталог. Представляет из себя последовательность символов, отражающих наличие доступа на чтение, запись и выполнение для владельца, группы и других пользователей. Если доступ отсутствует, отображается прочерк

Получить CSV

С помощью блока можно получить CSV-файл из указанного каталога.

Параметры блока:

  • путь к файлу (для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла)
  • таблица содержит заголовок (определяет наличие/отсутствие заголовка таблицы)
  • имена столбцов (колонки можно менять местами, удерживая нужную и перетаскивая вниз или вверх):
    • имя колонки
    • тип (строка, число, дробное число, дата и время, логический тип, большое целое число)
  • загрузить пример (позволяет загрузить CSV-файл для автоматического добавления колонок. При нажатии кнопки открывается модальное окно для загрузки файла):
    • типы данных определяются автоматически, можно изменить
    • загрузка новой схемы заменяет предыдущую
    • сохранить настройки парсинга (параметры передаются в настройки блока)
  • настройка парсинга:
    • разделитель (символ, разделяющий значения на элементы в CSV):
    • точка с запятой
    • запятая
    • прямая черта
    • косая черта
    • табуляция
    • пробел
    • другой (появляется поле для указания разделителя)
    • квалификатор (символ, обрамляющий значения элементов в CSV):
    • одиночные кавычки
    • двойные кавычки
    • локаль (будет применена при парсинге значений из CSV. Выбирается из списка)
    • кодировка (будет применена при разборе байтового потока файла. Выбирается из списка)

Получить CSV

Загрузка примера

Для автоматического добавления колонок можно загрузить пример CSV-файла. Для этого нажмите Загрузить пример справа от заголовка Имена столбцов. Откроется модальное окно для загрузки файла.

Загрузка примера

Выберите файл и нажмите Продолжить.

Откроется окно предпросмотра, в котором можно сменить разделитель, квалификатор, локаль, кодировку и типы данных колонок. Если поставить галочку у параметра Сохранить настройки парсинга, настройки скопируются в параметры блока. Для завершения загрузки нажмите кнопку Применить.

Окно предпросмотра

Столбцы автоматически добавились, заменив предыдущие.

Новые столбцы

Заметка
  • Максимальный размер файла — 20 МБ
  • Загрузка новой схемы заменяет предыдущую
  • Если указаны типы, которые не соответствуют данным, появляется ошибка
  • При попытке загрузить пустой файл отобразится ошибка, что файл пуст, окно предпросмотра не откроется
  • Количество колонок в заголовке и количество колонок в самой таблице должны совпадать, иначе появится ошибка
  • Если в одной и той же колонке встречаются разные типы данных, например, Строка и Число, все значения данной колонки конвертируются в строки
  • Если пример CSV-файла состоит из одной строки, все колонки таблицы будут с типом Строка
  • Все пустые значения или значения, где явно прописано null, будут с типом Строка

Скачать содержимое файла

Блок позволяет скачать файл из каталога, указанного в поле Путь к файлу. Для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла. Пример: /имяпапки/имяфайла.csv. Путь можно ввести вручную или использовать маппинг. Максимальный размер скачиваемого файла — 52,5 МБ.

Скачать файл

Файл, загруженный с помощью этого блока, сохраняется в буфере и может многократно использоваться в других блоках для работы с файлами без повторных обращений к хранилищу.

Удалить файл

Блок удаляет файл из каталога, указанного в поле Путь к файлу. Для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла. Пример: /имяпапки/имяфайла.csv. Путь можно ввести вручную или использовать маппинг.

Удалить файл

Была ли статья полезна?

Да
Нет
Предыдущая
Работа с базами данных
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.