Все ноды/Data/DataFrame I/O

Записать XLSX

Записывает DataFrame в Excel-файл (xlsx) в файловом хранилище пространства (или подключённом). Перезаписывает целевой файл при существовании.

Записать XLSX▶
ТаблицаИтог действия
Хранилище файловОшибка
Файл

Тип в графе: df_write_xlsx

Exec

Можно включить выход ошибки и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий сценарий

Вход
Записать XLSX▶
Выход▶
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Сохраняет таблицу книгой Excel. Механика хранилища и пути та же, что у Записать CSV; разница в получателе файла.

XLSX берут, когда файл откроет человек: числа и даты остаются числами и датами, а вопросов кодировки и разделителя не возникает вовсе — их в формате нет. CSV остаётся выгоднее, когда файл читает другая система или он очень большой: xlsx тяжелее и собирается дольше.

Как это работает

Порт «Таблица» приносит и запуск, и данные — отдельного входа выполнения нет. Как и у CSV-записи, на вход годится список объектов или CSV-текст: нода приведёт его к таблице сама.

«Лист» — шаблон; пустое значение превращается в Sheet1. Книга каждый раз собирается с нуля, поэтому лист в ней ровно один.

Путь тоже шаблон: reports/{{ variables.session_id }}.xlsx даёт по книге на сессию. На выходе — path, bytes_written и rows_written (строки данных, без заголовка).

Частые ошибки

  • Ожидание, что лист добавится в существующую книгу. Файл по указанному пути заменяется целиком: старые листы, формулы и форматирование исчезают. Чтобы копить историю, пишите каждый запуск в свой путь.
  • Расчёт на форматирование. Нода пишет данные: ширина столбцов, стили, закрепление шапки и формулы не настраиваются. Если нужен фирменный вид, готовьте книгу-шаблон вне Iterna.
  • Папки на WebDAV нет. В хранилище воркспейса недостающие каталоги создаются сами, на WebDAV запись в несуществующую папку не проходит.
  • Одна таблица на несколько листов. Разложить один DataFrame по листам нельзя. Разделите данные выше по графу и пишите разные файлы, либо соберите отчёт в CSV.
  • Пустая таблица. Получится книга с одним заголовком и rows_written: 0 — это успешный запуск, а не ошибка.

Входы

ПортПроводДанныеПримечания
ТаблицаdfИсполнение + данныеexecute_datadataframe
Хранилище файловfile_storeДанныеdata—

показывается, когда connection_source ≠ "auto"

Выходы

ПортПроводДанныеПримечания
Итог действияoutputИсполнение + данныеexecute_dataobject
Ошибкаon_errorИсполнение + данныеexecute_data—

показывается, когда expose_error_output = true

ФайлfileДанныеdatafile

Настройки

ПолеТипПо умолчаниюОписание
Путь к файлуpathstring""

Путь относительно корня хранилища. Шаблоны {{ }} подставляются на каждом запуске, поэтому ``reports/{{ variables.session_id }}.xlsx`` пишет отдельный файл на каждую сессию.

поддерживает шаблоны

Листsheet_namestringSheet1

Имя создаваемого листа. Поддерживает шаблоны {{ }}.

поддерживает шаблоны

Записывать заголовокinclude_headerbooleantrue

Записывать имена столбцов первой строкой.

Источник подключенияconnection_sourcestringauto

Откуда нода берёт подключение. «Из текущего запуска» использует то, что платформа уже знает (Telegram-бот, на который опубликован сценарий / собственное файловое хранилище этого пространства), и связей не требует. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду.

Варианты: auto — Из текущего запуска, external — Внешнее подключение (подключить конфиг-ноду)

Подпапкаstore_subfolderstring""

Необязательная папка внутри стора этого пространства, которую считать корнем, напр. `reports` или `sessions/{{ variables.session_id }}`. Пусто = корень стора.

поддерживает шаблоны

показывается при «Источник подключения» = Из текущего запуска

Дополнительно
Макс. байтmax_bytesinteger52428800

Не записывать больше указанного числа байт.

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.