Прежде, чем начать работать с Google-таблицами, их необходимо подключить в программу. Как это сделать, читайте здесь: Подключение Google-таблиц.
1. Принцип работы Google-таблиц в программе
1.1. При каждом новом старте проекта, в программе создаётся виртуальная копия Google-таблицы.
1.2. Виртуальная копия содержит в себе все данные из Google-таблицы.
1.3. В процессе выполнения проекта, программа работает с виртуальной копией.
1.4. Если установлена галочка Сохранять изменения таблицы в облако, программа периодически будет записывать данные из виртуальной копии в Вашу Google-таблицу.
Важно: Данные в Google-таблице появляются не моментально, а в течении 10-60 секунд.
1.5. Строки в виртуальной таблице нумеруются начиная с 0. То есть, первая строка будет иметь индекс 0, вторая - 1 и т.д. Столбцы тоже нумеруются начиная с 0. Доступ к столбцам также можно получить по имени столбца - A, B, C и так далее.
Важно: Строки нумеруются с 0. Столбцы тоже с 0 или по имени A, B, C и т.д.
2. Создание новой таблицы в аккаунте Google
2.1. Зайдите в свой Google диск и в левом верхнем углу выберите Создать → Google Таблицы → Создать пустую таблицу.
2.2. Вы можете записать любые стартовые данные либо оставить новую таблицу пустой.
3. Добавление Google-таблицы в проект ZennoPoster
3.1. В ProjectMaker добавьте новую Google-таблицу в проект (1).
3.2. Интерфейс настройки Google-таблицы.
(1) Вставьте ссылку на Google таблицу - ссылка на Google-таблицу, созданную во втором пункте.
(2) Настройки - переход к разделу Google таблицы в настройках ProjectMaker.
(3) Превью Google таблицы - предпросмотр содержимого выбранной Google-таблицы.
(4) Сохранять изменения таблицы в облако - чекбокс, включающий синхронизацию виртуальной копии таблицы с Google-таблицей в облаке.
(5) Первая строка - заголовки - чекбокс, назначающий первую строку Google-таблицы заголовком.
(6) Использовать атомарное добавление строк - чекбокс, устанавливающий потокобезопасный тип запроса выгрузки данных для действия “Добавить строку” (Подробнее: Многопоточная работа с Google-таблицами 7.1.7 )
(7) Разделитель строк - выбор разделителя строк.
(8) Разделитель столбцов - выбор разделителя столбцов.
(9) Просмотр содержимого - открывает окно с содержимым Google-таблицы.
4. Действия с Google-таблицей: чтение, добавление, запись
4.1. Как работать с гугл-таблицами в ZennoPoster
Для работы с таблицей используйте кубик Операции над таблицей (1).
Возможные действия работы с Google-таблицей повторяют действия с любой другой таблицей в ZennoPoster:
4.2. Чтение данных из таблицы
4.2.1. Прочитать строку из таблицы
Вы можете прочитать строки из Google-таблицы по множеству параметров (номер, содержит текст/регулярное выражение, случайную и др.) в список или переменную.
Для этого, выберите опцию Взять строки:
Важно: Строки нумеруются начиная с 0. Это значит, что первая строка будет иметь индекс 0, вторая - 1, и т.д.
4.2.2. Прочитать ячейку
Также, Вы можете прочитать конкретную ячейку, с помощью опции Прочитать ячейку:
Важно: Строки нумеруются начиная с 0. Это значит, что первая строка будет иметь индекс 0, вторая - 1, и т.д. Столбцы нумеруются начиная с 0, либо по имени столбца - A, B, C и т.д.
4.2.3. Прочитать столбец
Воспользуйтесь опцией Взять столбец - читает весь столбец из Google-таблицы и записывает в список:
4.2.4. Сохранение всей таблицы в файл
Чтобы сохранить содержимое Google-таблицы в файл воспользуйтесь функцией Сохранить в файл:
Поддерживаются следующие форматы файлов: *.csv, *.xls, *.xlsx, *.xlsm, *.ods
4.3. Запись данных в таблицу
4.3.1. Добавление строк
Выберите опцию Добавить строку. В качестве разделителя столбцов используйте символ точки с запятой:
;
Важно: Разделитель указывается в настройках Google-таблицы в поле Разделитель столбцов:
4.3.2. Добавление списка
Вы можете добавить содержимое списка в столбец в Google-таблицу, если выберите опцию Добавить список:
4.3.3. Запись ячейки
Чтобы перезаписать какие-то данные в конкретной ячейке, воспользуйтесь опцией Записать ячейку:
4.4. Другие полезные действия
4.4.1. Получить количество столбцов
Вы можете узнать количество столбцов в Google-таблице и записать это число в переменную:
4.4.2. Получить количество строк
Так же, возможно узнать количество строк в Google-таблице и запись это число в переменную:
4.4.3. Привязать к URL
Во время выполнения данного действия, Вы можете привязать новую Google-таблицу, указав её URL:
4.4.4. Сортировать
Чтобы отсортировать содержимое столбцов по убыванию или по возрастанию, воспользуйтесь опцией Сортировать:
Важно: Столбцы нумеруются начиная с 0, либо по имени столбца - A, B, C и т.д.
4.4.5. Удалить дубли
Вы можете удалить повторяющиеся строки в Google-таблице. При этом возможно выбрать удалять ли строки во всех столбцах или в каких-то конкретных:
4.4.6. Удалить столбец
Вы можете удалить столбцы из Google-таблицы:
4.4.7. Удалить строки
Вы можете удалить строки из Google-таблицы по множеству параметров (номер, содержит текст/регулярное выражение, случайную и др.).
Важно: Строки нумеруются начиная с 0. Это значит, что первая строка будет иметь индекс 0, вторая - 1, и т.д.
5. Многопоточная работа с Google-таблицами до 7.1.6.1 включительно
Для версий программы, начиная с 7.1.7 был изменен алгоритм многопоточной работы с Google таблицами. Подробнее: Многопоточная работа с Google-таблицами 7.1.7
5.1. ZennoPoster поддерживает многопоточную работу с Google-таблицами
Это значит, что к одной таблице можно обращаться через несколько потоков. При выполнении, для всех потоков будет один инстанс виртуальной таблицы, изменения из которой будут периодически синхронизироваться с таблицей в облаке.
5.2. Несколько копий ZennoPoster может работать с одной Google-таблицей
Но нужно учитывать, что изменения из программы поступают в облако не моментально, а в течении 30-60 секунд. Следовательно, эта задержка будет действовать между разными копиями программы ZennoPoster.
5.3. Как оптимизировать многопоточную запись данных в одну Google-таблицу
Для этого есть решение. Допустим, если Вы осуществляете парсинг каких-то данных пачками и складываете все результаты в одну Google-таблицу.
ZennoPoster устроен таким образом, что пытается всегда синхронизировать виртуальную таблицу и таблицу в облаке. Если имеется несколько копий ZennoPoster и/или таблица имеет много данных, синхронизация может занять много времени.
В таком случае, если Вам не нужны актуальные данные из таблицы в каждой копии ZennoPoster, Вы можете настроить режим быстрой записи через опцию Редактирование → Настройки → Google таблицы → Политика обработки изменений таблиц:
В этом режиме, каждая копия программы будет лишь отправлять данные, не заботясь об их чтении в программу (и не будет тратить на это время). Все отправленные данные из разных копий ZennoPoster будут записаны в облако.