2015-12-15 72 views
0

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

有没有一种简单的方法来做到这一点,还是我必须编写自己的发电机?

+3

有被称为'create_random_entries_in_database'没有内置的功能,但有['random'模块(https://docs.python.org/2/ library/random.html),你可以使用;) – zvone

+0

@Marcel我的解决方案是否适合你? – arekolek

回答

2

您可以使用维基百科作为数据源。选择与您的模式相关的类别并从这些类别中选择随机文章。

为了方便,此代码使用requests访问CatScan。也许有一个图书馆可以做同样的事情(返回维基百科分类中的页面),但编写这段简短的代码比找到一个简单。

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 
相关问题