Инструменты пользователя

Инструменты сайта


Боковая панель

Перевод этой страницы:

ru:table

Работа с таблицами

Использование

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

Например, у вас есть файл, в котором лежат данные готовых аккаунтов в таком формате:

	login1;pass1;email1
	login2;pass2;email2
	login3;pass3;email3
	....

Вам нужно при каждом выполнении проекта взять строку из этого файла (данные одного аккаунта) и получить отдельно login, pass и email.

Создание и заполнение таблиц

Чтобы добавить таблицу в проект выберите группу действий «Таблицы» и создайте таблицу.

На панели статических блоков появится пиктограмма созданной таблицы.

Разметка в таблице простая, как в обычном Excel документе, столбцы именуются латинскими буквами, строки - цифрами (начиная с нуля). Таблицу можно заполнить вручную или загрузить данные из файла. Для того, чтобы загружать данные в таблицу из файла, поставьте галку «Загружать из файла», и, если нужно полностью синхронизировать таблицу с файлом, поставьте галку «Сохранять изменения таблицы в файл». Также понадобится указать путь к файлу, и разделитель. Если у вас обычный .xls, .xlsx, .odt или .csv файл, то просто выберите вариант с этими расширениями, и указывать разделитель не нужно. Если файл, например, .txt, то выберите «свой формат», и укажите символы разделителя.

Операции с таблицей

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

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

Обратите внимание: положить все ячейки таблицы из одной строки в переменные можно в одно действие. Это делается через операцию «взять строку». Не нужно для этого создавать много действий, которые будут читать каждую ячейку таблицы отдельно.
При указании номеров строк можно использовать диапазоны.

Примечания

  • Не создавайте очень большие файлы в сотни мегабайт, особенно если у вас мало оперативной памяти.
  • Нельзя полностью синхронизировать таблицу с файлом (с сохранением изменений в файл) из нескольких проектов с разными разделителями. Т.е. например, у вас два разных проекта. В обоих вы используете один и тот же файл. Но в первом столбцы разделены через ';', а в другом через '-' то произойдет ошибка.
  • Ограничения при многопоточности: если вы выполняете свой проект многопоточно (при полной синхронизации файла с таблицей) то никаких проблем не будет при соблюдении простого правила: работайте с таблицей в одно действие. Например, вам нужно взять строку с удалением. Будет не правильно, если вы сначала в одном действии возьмете строку, а в другом ее удалите. Это можно сделать в одно действие - при взятии строки установить галку «С удалением». В одно действие можно сделать практически все, что вам может понадобиться при работе с таблицей.

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

ru/table.txt · Последние изменения: 2016/04/06 14:24 — vladz