Операции над таблицами
🔗 Оригинальная страница — Источник данного материала
Описание
Таблицы используются для получения более сложно организованных данных, чем списки. Это может быть каталог товаров для интернет-магазина, в котором построчно прописаны разные данные: название, цена, описание и тд.
Они могут использоваться для:
- Работы с комплексом данных;
- Добавления и получения элементов таблицы;
- Удаления строк, столбцов и дублей;
- Привязки к файлу;
- Получение количества строк и столбцов;
Как создать таблицу?

Как добавить экшен в проект?
Через контекстное меню: Добавить действие → Таблицы → Операции над таблицей

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

- Выбираем таблицу.
- Определяем функцию.
- Указываем Столбец, который хотим забрать (или переменную).
- Выбираем список, в который сохраним все значения столбца.
Пример
Поместим все значения столбца B из Таблицы 1 в Список 1
| Таблица | Список |
|---|---|
Взять строки
Получаем строки с возможностью удаления их из таблицы и записью в список или переменные.

- Критерии выбора строк:
- Все;
- Не содержит текст;
- Неудовлетворяющие регулярному выражению;
- Первую;
- Под номерами;
- Случайную;
- Содержит текст;
- Удовлетворяющие регулярному выражению;
- Удалить после взятия. Определяет, останутся ли взятые строки в таблице или нет.
- Поместить результат. Строку можно отправить В список или в Переменные. А далее идет таблица, где мы можем это контроллировать.
Пример
Берём случайные строки из Таблицы 1 и кладём в переменные с дальнейшим удалением.

| Таблица после обработки | Окно переменных |
|---|---|
![]() |
Переменная
peremennay_3пустая, так как таблица содержит только столбцы A и B
Добавить список
Здесь же наоборот, можно положить выбранный список в определенный столбец таблицы.
Выбираем столбец, в который положим → Указываем список.
Пример
Берём значение из Списка 1 и помещаем его в столбец D Таблицы 1
| Список 1 | Таблица 1 после обработки |
|---|---|
![]() |
Значения из списка не удаляются
Добавить строку
Больше подходит для одновременного добавления нескольких строк в таблицу.
С помощью этой функции в таблицу можно положить статический текст (string) или переменную. Эти данные будут добавлены в конец таблицы.

Если таблица привязана к файлу с расширениями .csv, .xls(x) или .ods, то в качестве разделителя нужно использовать {-String.Tab-}.
Пример
Добавим строку своего текста в разные столбцы.

| До обработки | После |
|---|---|
Записать ячейку
Добавляет текст в конкретную ячейку.

- Строка и Столбец. Здесь указываем статические координаты ячейки. Это также можно сделать через переменные.
- Значение. Пишем статический текст (string) или переменную.
Пример
Добавляем текст вместе с заданной ячейкой

| До обработки | После |
|---|---|
Строки всегда добавляются в конец таблицы
Получить количество столбцов
Так можно узнать, сколько всего столбцов содержит таблица.

Cодержит только числовое значение int.
Пример
Получаем количество столбцов Таблицы 1 и кладём в переменную

| Таблица 1 | Переменная kolichestvo_strok |
|---|---|
![]() |
Получить количество строк
Эта операция показывает, сколько строк содержит таблица.

- Выбираем таблицу с которой будем работать.
- Указываем функцию.
- Переменная для получения результата.
Cодержит только числовое значение int.
Пример
Получаем в переменную количество строк из Таблицы 1

| Таблица 1 | Переменная kolichestvo_strok |
|---|---|
![]() |
Привязать к файлу
Позволяет привязать таблицу к файлу в ходе выполнения проекта.
Этот экшен нужно использовать, если путь файла не известен на момент старта шаблона, а будет вычислен только во время выполнения.

- Путь к файлу. Выбираем файл или указываем переменную, содержащую путь к файлу.
- Создавать файл при отсутствии. Если файл отсутствует по указанному пути, то он будет автоматически создан.
Пример
Привязываем Таблицу 1 к выбранному файлу

Прочитать ячейку
Получить значение из заданной ячейки

- Строка и Столбец. Здесь указываем статические координаты ячейки. Это также можно сделать через переменные.
- Положить в переменную. Указываем переменную, в которую положим результат.
Пример
Получаем в переменную значение из ячейки B2 Таблицы 1

| Таблица 1 | Переменная yacheika |
|---|---|
![]() |
Сортировать таблицу
Сортирует элементы таблицы по убыванию или возрастанию.

- Столбцы. Выбираем нужные.
ZennoDroid автоматически определяет столбцы со значениями и предлагает их. - Сортировать как числа, если это возможно. Использовать принцип сортировки как у чисел.
Данная опция сработает, только если в столбце находятся целые числа. Если же там присутствуют дробные числа, то столбец отсортируется по принципу строк.
- Тип сортировка. Сортируем По возрастанию или По убыванию.
Пример
Отсортируем по убыванию значения всех столбцов Таблицы 1

| До обработки | После |
|---|---|
Сохранить в файл
Сохранение таблицы в файл во время выполнения проекта.

Для работы нужно выбрать файл или указать переменную, содержащую путь к нему.
Функция умеет только перезаписывать существующий файл.
Пример
Сохраняем значения Таблицы 1 в файл
| Таблица 1 | Получившийся файл |
|---|---|
Удалить дубли
Эта функция удаляет повторяющиеся значения из таблицы.

- Столбцы. Проверяем на дубли Все или конкретные.
ZennoPoster автоматически определяет столбцы со значениями и предлагает их.
Пример
Удаляем все дубли из Таблицы 1
| До обработки | После |
|---|---|
![]() |
Удалить столбец
Целиком удаляет выбранный столбец из таблицы.

Указываем конкретный столбец или переменную.
Пример
Удаляем столбец B из Таблицы 1
| До обработки | После |
|---|---|
Удалить строки
Позволяет удалить определенные строки во всех столбцах.

- Критерии выбора строк:
- Все;
- Не содержит текст;
- Неудовлетворяющие регулярному выражению;
- Первую;
- Под номерами (нумерация с нуля);
- Случайную;
- Содержит текст;
- Содержащие только пробельные символы;
- Удовлетворяющие регулярному выражению;
Пример
Удаляем третью строчку из Таблицы 1
| До обработки | После |
|---|---|
Третья строка была удалена целиком
Советы при работе с таблицами
- Не стоит привязывать к таблице слишком большие файлы (100мб и более) без опции «Сохранять изменения таблицы в файл». Особенно, если у вас мало оперативной памяти.
- При работе с таблицой, которая привязана к одному файлу сразу в нескольких проектах, нужно исп ользовать одинаковый разделитель. Например, если в одном шаблоне столбцы разделены через
;, а в другом через-, то произойдет ошибка. - Когда проект работает в многопоточном режиме, а каждый поток при этом обрабатывает свою отдельную строку, то лучше включить опцию «Сохранять изменения таблицы в файл». Это позволит брать данные из таблицы и удалять их после взятия.
- Если вы синхронизируетесь с файлом, то все изменения в каждом из потоков будут сразу отображаться в проекте, так как таблица одна на все потоки.
- Однако если вы не используете синхронизацию с файлом, то для каждого потока будет создаваться своя копия таблицы. В этом случае удаление строки таблицы из одного потока не меняет таблицу в других потоках.
- Стоит учитывать, что таблицы в оперативной памяти занимают намного больше места, чем исходный файл на жестком диске. Например, таблица на основе файла CSV размером 10 MB в 100 потоков без синхронизации с файлом, может занять 5 GB оперативной памяти. Поэтому старайтесь не использовать списки и таблицы в режиме «без синхронизации» с файлом без необходимости.
Пример использования
Собрать со страниц название нужных товаров в список и добавить их из списка в таблицу для дальнейшего использования.

- Загружаем страницы.
- Собираем необходимые значения в список.
- Создаём таблицу.
- Добавляем экшен и указываем функцию добавить список.
- Указываем список и столбец в который сохраним значения.





