我需要在python编程语言的帮助下在sql中使用给定的sql-schema创建随机条目。
有没有一种简单的方法可以做到这一点,还是我必须编写自己的生成器?
答案 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安装造假者
只需检查一下文档并检出