如何使用python在数据库中创建随机条目

时间:2015-12-15 23:38:06

标签: python sql generator

我需要在python编程语言的帮助下在sql中使用给定的sql-schema创建随机条目。

有没有一种简单的方法可以做到这一点,还是我必须编写自己的生成器?

3 个答案:

答案 0 :(得分:2)

您可以使用Wikipedia作为数据源。选择与您的架构相关的类别,然后从这些类别中选择随机文章。

为方便起见,此代码使用CatScan访问requests。也许有一个库可以做同样的事情(在维基百科类别中返回页面),但是编写这么短的代码比找到一个更容易。

choice从列表中选择一个随机元素。

from random import choice
from requests import post


def title(page):
  return page['a']['title'].split('(')[0].replace('_', ' ').strip()


def category(name, depth=0):
  url = 'https://tools.wmflabs.org/catscan2/catscan2.php'
  payload = {
    'categories': name,
    'depth': depth,
    'format': 'json',
    'doit': 'Do it!',
  }
  category = post(url, data=payload).json()['*'][0]['a']['*']
  return [title(page) for page in category]


first = category('Italian masculine given names')
last = category('Surnames of Italian origin')
work = category('Organized crime members by role')

for i in range(10):
  print(*map(choice, (first, last, work)), sep=',')

结果:

$ python random_data.py | column -t -s,
Santino      Comolli     Boss
Constantino  Furlan      Made man
Ernesto      Forlán      Consigliere
Silvestro    Gherardi    Informant
Adelmo       Mancuso     Bagman
Giuliano     Paganelli   Made man
Renato       Barberis    Capobastone
Roberto      Comollo     Consigliere
Dario        Speroni     Consigliere
Gastone      Pestalozzi  Underboss

答案 1 :(得分:1)

您可以尝试最近推出的名为pydbgen的Python包。 这是一篇关于它的文章。 Introducing pydbgen: A random dataframe/database table generator

例如,这会生成一个可以与MySQL或SQLite一起使用的.DB文件。生成的数据库表在DB Browser for SQLite中打开,如下所示,

myDB.gen_table(db_file='Testdb.DB',table_name='People',
fields=['name','city','street_address','email'])

如您所见,可以指定db文件名,表名和字段。

答案 2 :(得分:1)

您也可以使用造假者。 只需 pip安装造假者

只需检查一下文档并检出