Verfügbar mit: Предприятие

Иногда требуется сгенерировать несколько выборочных записей в базе. С помощью этого Python-скрипта вы можете сгенерировать от нескольких до многих тысяч записей в кратчайшие сроки.

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

Каждый скрипт Python начинается с загрузки используемых модулей Python, где мы будем использовать base и context из класса seatable_api. Модуль random нужен только во второй строке, если вы хотите генерировать случайные числа.

from seatable_api import Base, context
import random

Следующие две строки необходимы для установления соединения с текущей базой. После этой аутентификации мы можем читать, удалять или манипулировать информацией через объект базы.

base = Base(context.api_token, context.server_url)
base.auth()

Теперь, когда у нас есть доступ к текущей таблице, мы можем определить записи для создания. Следующий код предполагает, что у вас есть столбцы с именами 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)
  },
]

В последнем блоке кода содержимое новых строк было определено и сохранено в переменной rows_data, но еще не записано в базу. Теперь мы сделаем это с помощью следующего вызова.

# append the two rows
  base.batch_append_rows(context.current_table, rows_data)

Конечно, можно записать и более двух строк. Это можно сделать либо просто определив дополнительное содержимое строки, либо выполнив процесс записи несколько раз с помощью цикла.

# 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)

Сценарий может быть запущен вручную или с помощью кнопки или автоматизации. Подробнее об этом можно узнать здесь .