Оглавление
Verfügbar mit: Предприятие
Иногда требуется сгенерировать несколько выборочных записей в базе. С помощью этого 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)
Сценарий может быть запущен вручную или с помощью кнопки или автоматизации. Подробнее об этом можно узнать здесь .