Иногда требуется сгенерировать несколько выборочных записей в базе. С помощью этого Python-скрипта вы можете сгенерировать от нескольких до многих тысяч записей в кратчайшие сроки.
Эта статья проведет вас через различные разделы скрипта, чтобы вы поняли, как он работает, и при необходимости смогли адаптировать его под свои нужды. Полный текст скрипта можно найти в конце этой статьи.
1) Загрузка модулей
Каждый скрипт Python начинается с загрузки используемых модулей Python, где мы будем использовать base и context из класса seatable_api. Модуль random нужен только во второй строке, если вы хотите генерировать случайные числа.
from seatable_api import Base, context import random
2) Аутентификация
Следующие две строки необходимы для установления соединения с текущей базой. После этой аутентификации мы можем читать, удалять или манипулировать информацией через объект базы.
base = Base(context.api_token, context.server_url) base.auth()
3) Определите содержимое новой строки
Теперь, когда у нас есть доступ к текущей таблице, мы можем определить записи для создания. Следующий код предполагает, что у вас есть столбцы с именами Name, single, random, rating. Если ваши столбцы названы по-другому, вам нужно соответствующим образом изменить имена.
# define the data for two new rows rows_data = [ { 'Name': "I am new Row", 'single': "new", 'random': random.randint(0,100000000), 'rating': random.randint(0,5) }, { 'Name': "I am second new row", 'single': "other value", 'random': random.randint(0,100000000), 'rating': random.randint(0,5) }, ]
4) Напишите новые строки
В последнем блоке кода содержимое новых строк было определено и сохранено в переменной rows_data, но еще не записано в базу. Теперь мы сделаем это с помощью следующего вызова.
# append the two rows base.batch_append_rows(context.current_table, rows_data)
5) Если вам нужно больше линий
Конечно, можно записать и более двух строк. Это можно сделать либо просто определив дополнительное содержимое строки, либо выполнив процесс записи несколько раз с помощью цикла.
# execute batch append 10 times for i in range(10): # define the data for two new rows ... # append the two rows ...
Полный сценарий
Полный сценарий должен быть готов к немедленному запуску без каких-либо серьезных изменений. Измените названия четырех столбцов, и сценарий сможет создавать новые строки в вашей таблице.
from seatable_api import Base, context import random base = Base(context.api_token, context.server_url) base.auth() # execute batch append multiple times for i in range(10): # define the data for two new rows rows_data = [ { 'Name': "I am new Row", 'single': "new", 'random': random.randint(0,100000000), 'rating': random.randint(0,5) }, { 'Name': "I am second new row", 'single': "more than new", 'random': random.randint(0,100000000), 'rating': random.randint(0,5) }, ] # append the two rows base.batch_append_rows(context.current_table, rows_data)
Сценарий может быть запущен вручную или с помощью кнопки или автоматизации. Подробнее об этом можно узнать здесь.