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

Читать XLSX

Считывает лист Excel-файла (xlsx) из подключённого file_store в DataFrame. Поддерживает выбор листа по имени или индексу.

Читать XLSX
File storeSuccess
Error

Тип в графе: df_read_xlsx

Exec

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

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

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

Минимальный рабочий воркфлоу

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

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

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

Читает один лист книги Excel и отдаёт его таблицей (DataFrame). Хранилище, путь и «Источник подключения» устроены так же, как у Читать CSV — разница в самом файле: здесь не нужно угадывать разделитель и кодировку, но за один шаг читается ровно один лист.

Берите CSV, когда файл приходит от машины (выгрузка, экспорт, ответ API), и XLSX, когда книгу присылают люди: с форматированием, несколькими листами и датами, которые в CSV пришлось бы разбирать строкой.

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

Поле «Лист» принимает и имя, и номер: 0 — первый лист, Отчёт — лист с таким именем. Пусто тоже читается как первый лист. Поле поддерживает Jinja, поэтому имя листа можно собрать из переменной.

«Индекс строки заголовка» указывает, какая строка книги содержит имена столбцов: 0 — первая строка листа. Если над таблицей есть шапка отчёта на две строки, поставьте 2.

Дальше по графу уезжает вся таблица, а в логе видно превью — первые 50 строк, размер и типы столбцов.

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

  • Лист с числовым именем. Значение, состоящее из цифр, всегда трактуется как номер: лист под именем 2024 выбрать не получится — нода пойдёт искать лист с индексом 2024 и упадёт. Переименуйте лист или выберите его по номеру.
  • Старый формат .xls. Читаются только книги .xlsx/.xlsm. Файл в старом формате нужно пересохранить.
  • Ожидание, что приедут все листы. Нода отдаёт один лист. Для второго поставьте вторую ноду и соедините результаты нодой DF: склейка.
  • Объединённые ячейки в шапке. Значение объединённой ячейки попадёт только в первый из столбцов, остальные окажутся пустыми и получат имена вида Unnamed: 2.
  • Книга больше лимита. «Макс. байт» (25 МиБ) обрезает передачу, а обрезанный xlsx не разбирается вовсе: шаг падает с ошибкой разбора. Такую книгу нужно уменьшить или выгрузить нужный лист в CSV.

Входы

ПортПроводДанныеПримечания
File storefile_storeДанныеdata

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

Выходы

ПортПроводДанныеПримечания
SuccessoutputИсполнение + данныеexecute_datadataframe
Erroron_errorИсполнение + данныеexecute_data

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

Настройки

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

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

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

Листsheet_namestring0

Индекс листа (целое число) или имя листа. По умолчанию 0 = первый лист. Поддерживает Jinja.

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

Индекс строки заголовкаheader_rowinteger0

Индекс строки заголовка столбцов (с 0). Используйте -1, чтобы пропустить заголовок.

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

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

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

Подпапкаstore_subfolderstring""

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

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

показывается при connection_source = auto

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

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

Общие поля

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

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