Все ноды/Data/DataFrame I/O
Прочитать XLSX
Считывает лист Excel-файла (xlsx) из файлового хранилища пространства (или подключённого) в DataFrame. Поддерживает выбор листа по имени или индексу.
Тип в графе: df_read_xlsx
Exec
Можно включить выход ошибки и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий сценарий
- Исполнение
- Исполнение + данные
Запускается сразу
Как применять
Читает один лист книги Excel и отдаёт его таблицей (DataFrame). Хранилище, путь и «Источник подключения» устроены так же, как у Читать CSV — разница в самом файле: здесь не нужно угадывать разделитель и кодировку, но за один шаг читается ровно один лист.
Берите CSV, когда файл приходит от машины (выгрузка, экспорт, ответ API), и XLSX, когда книгу присылают люди: с форматированием, несколькими листами и датами, которые в CSV пришлось бы разбирать строкой.
Как это работает
Поле «Лист» принимает и имя, и номер: 0 — первый лист, Отчёт — лист с таким именем. Пусто
тоже читается как первый лист. Поле поддерживает шаблоны, поэтому имя листа можно собрать из
переменной.
«Строка заголовка» указывает, какая строка книги содержит имена столбцов: 0 — первая
строка листа. Если над таблицей есть шапка отчёта на две строки, поставьте 2.
Дальше по графу уезжает вся таблица, а в логе видно превью — первые 50 строк, размер и типы столбцов.
Частые ошибки
- Лист с числовым именем. Значение, состоящее из цифр, всегда трактуется как номер: лист
под именем
2024выбрать не получится — нода пойдёт искать лист с индексом 2024 и упадёт. Переименуйте лист или выберите его по номеру. - Старый формат
.xls. Читаются только книги.xlsx/.xlsm. Файл в старом формате нужно пересохранить. - Ожидание, что приедут все листы. Нода отдаёт один лист. Для второго поставьте вторую ноду и соедините результаты нодой DF: склейка.
- Объединённые ячейки в шапке. Значение объединённой ячейки попадёт только в первый из
столбцов, остальные окажутся пустыми и получат имена вида
Unnamed: 2. - Книга больше лимита. «Макс. байт» (25 МиБ) обрезает передачу, а обрезанный xlsx не разбирается вовсе: шаг падает с ошибкой разбора. Такую книгу нужно уменьшить или выгрузить нужный лист в CSV.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Хранилище файловfile_store | Данныеdata | — | показывается, когда connection_source ≠ "auto" |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Таблицаoutput | Исполнение + данныеexecute_data | dataframe | |
Ошибкаon_error | Исполнение + данныеexecute_data | — | показывается, когда expose_error_output = true |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Путь к файлуpath | string | "" | Путь относительно корня хранилища. Шаблоны {{ }} подставляются на каждом запуске, поэтому ``reports/{{ variables.session_id }}.xlsx`` читает файл своей сессии. поддерживает шаблоны |
Листsheet_name | string | 0 | Индекс листа (целое число) или имя листа. По умолчанию 0 = первый лист. Поддерживает шаблоны {{ }}. поддерживает шаблоны |
Строка заголовкаheader_row | integer | 0 | Индекс строки заголовка столбцов (с 0). Используйте -1, чтобы пропустить заголовок. |
Источник подключенияconnection_source | string | auto | Откуда нода берёт подключение. «Из текущего запуска» использует то, что платформа уже знает (Telegram-бот, на который опубликован сценарий / собственное файловое хранилище этого пространства), и связей не требует. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду. Варианты: |
Подпапкаstore_subfolder | string | "" | Необязательная папка внутри стора этого пространства, которую считать корнем, напр. `reports` или `sessions/{{ variables.session_id }}`. Пусто = корень стора. поддерживает шаблоны показывается при «Источник подключения» = Из текущего запуска |
| Дополнительно | |||
Макс. байтmax_bytes | integer | 26214400 | Прочитать не больше указанного числа байт. Файл больше будет обрезан: из CSV получатся только первые строки, XLSX не разберётся. |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.