[python] Database construction - user information

In order to practice python and SQL, use python and pymysql to build databases and SQL tables

User information table data settings:

Mainly according to the random function in python, write some random data

import pymysql
import pandas as pd
import sqlalchemy
import random
import string
import radar


def user_name():
    name_1 = ['赵','钱','孙','李','周','吴','郑','王','冯','陈','褚','卫','蒋','沈','韩','杨','朱','秦','尤','许',
            '何','吕','施','张','孔','曹','严','华','金','魏','陶','姜','戚','谢','邹','喻','柏','水','窦','章',
            '云','苏','潘','葛','奚','范','彭','郎','鲁','韦','昌','马','苗','凤','花','方','俞','任','袁','柳',
            '酆','鲍','史','唐','费','廉','岑','薛','雷','贺','倪','汤','滕','殷','罗','毕','郝','邬','安','常',
            '乐','于','时','傅','皮','卞','齐','康','伍','余','元','卜','顾','孟','平','黄','和','穆','萧','尹',
            '姚','邵','湛','汪','祁','毛','禹','狄','米','贝','明','臧','计','伏','成','戴','谈','宋','茅','庞',
            '熊','纪','舒','屈','项','祝','董','梁','杜','阮','蓝','闵','席','季','麻','强','贾','路','娄','危',
            '江','童','颜','郭','梅','盛','林','刁','钟','徐','邱','骆','高','夏','蔡','田','樊','胡','凌','霍',
            ]
    name_2 = ['骏','宇','玄','璀','紫','子','全','超','益','莉','信','美','奎','琪','豪','浩','槐','文','巧','治','瑜','雯','诗','涵','曦','嵘','天','誉','喜','伟','嘉','欣',
            '卿','钰','勇','寅','天','宸','兵','祥','运','昊','泽','仁','淳','轩','子','泳','瑶','源','杰','正','驿','豪','财','熙','海','辉','辉','天','华','峻','龙','嘉',
            '诚','嘉','运','财','喜','伟','天','俊','熙','熙','利','君','帝','云','海','伟','熙','霞','艳','宗','书','文','国','熙','林','天','录','熙','明','俊','敬','贵',
            '艺','心','艾','悦','思','甜','帅','梅','莲','婷','伯','沁','苹','苗','龙','尔','仕','墨','驿','森','桥','丹','东','墨','满','阳','骏','鹏','毓','昆','金','宇',
            '宇','木','金','豪','天','洋','宇','捷','治','智','浩','泽','搏','朗','朗','桐','喜','伊','萱','彤','正','裕','馨','湘','锦','湘','玉','元','坤','子','侦','山',
            '水','茂','阳','海','乐','晨','杰','高','启','夫','玉','舟','凌','璇','雨','扬','晨','亭','艳','昊','洋','晴','雨','雨','晨','雨','辰','骞','娴','颖','晞','朝',
            '晓','小','蕾','雯','悦','月','秋','绮','书','彤','诗','韬','羿','程','惠','忻',
            ]
    name_len=random.randint(2,3)
    #名字长度
    name=''
    for i in range(name_len):
        if (i==0) :
            #姓
            a=random.choice(name_1)
        else :
            #名
            a = random.choice(name_2)
        name=name+a
    return name

def user_sex():
    i=random.random()
    if(i>0.95):
        #5%的数据设置为位置,其他随机男或女
        a='未知'
    else:
        a=random.choice(['男','女'])
    return a


def user_age():
    a=random.randint(18,60)
    #18-60岁随机
    return a


def user_email():
    i = random.random()
    e=''
    #设置30%的qq邮箱,其他的设置成其他的
    if (i > 0.7):
        a=str(random.randint(100000000,9999999999))+'@qq.com'
    else:
        for j in range(random.randint(4,10)):
            e=e+random.choice(string.ascii_letters.lower())
        a=e+'@'+random.choice(['163','sina','126'])+'.com'

    return a

def user_phone():
    #简单随机11位数字,懒得验证前3位了
    a=random.randint(10000000000,19999999999)
    return a

def user_city():
    c1=['上海','北京','广州','深圳']
    c1_new=['成都','重庆','杭州','西安','武汉','苏州','郑州','南京','天津','长沙','东莞','宁波','佛山','合肥','青岛']
    c2=['昆明','沈阳','济南','无锡','厦门','福州','温州','金华','哈尔滨','大连','贵阳','南宁','泉州','石家庄','长春','南昌','惠州','常州','嘉兴','徐州','南通','太原','保定','珠海','中山','兰州','临沂','潍坊','烟台','绍兴']
    c3=['台州','海口','乌鲁木齐','洛阳','廊坊','汕头','湖州','咸阳','盐城','济宁','呼和浩特','扬州','赣州','阜阳','唐山','镇江','邯郸','银川','南阳','桂林','泰州','遵义','江门','揭阳','芜湖','商丘','连云港','新乡','淮安','淄博','绵阳','菏泽','漳州','周口','沧州','信阳','衡阳','湛江','三亚','上饶','邢台','莆田','柳州','宿迁','九江','襄阳','驻马店','宜昌','岳阳','肇庆','滁州','威海','德州','泰安','安阳','荆州','运城','安庆','潮州','清远','开封','宿州','株洲','蚌埠','许昌','宁德','六安','宜春','聊城','渭南']
    c4=['宜宾','鞍山','南充','秦皇岛','亳州','常德','晋中','孝感','丽水','平顶山','黄冈','吉林','龙岩','枣庄','郴州','日照','马鞍山','衢州','鄂尔多斯','包头','邵阳','玉林','榆林','西宁','德阳','泸州','临汾','南平','焦作','宣城','毕节','淮南','黔南','滨州','黔东南','茂名','三明','湘潭','梅州','乐山','黄石','韶关','衡水','怀化','张家口','永州','十堰','曲靖','大庆','舟山','宝鸡','景德镇','北海','娄底','吉安','汕尾','锦州','咸宁','大同','恩施','营口','长治','赤峰','抚州','漯河','眉山','东营','铜仁','拉萨','汉中','黄山','阳江','大理','盘锦','达州','吕梁','承德','红河','百色','丹东','益阳','濮阳','河源','铜陵','鄂州','内江','梧州','淮北','安顺','晋城']
    c5=['延边','贵港','萍乡','湘西','遂宁','云浮','辽阳','广安','防城港','天水','荆门','牡丹江','自贡','绥化','钦州','安康','随州','玉溪','通辽','庆阳','巴音郭楞','丽江','张家界','松原','贺州','吴忠','四平','阜新','伊犁','文山','酒泉','本溪','西双版纳','凉山','来宾','巴中','抚顺','德宏','定西','阳泉','克拉玛依','保山','雅安','嘉峪关','乌兰察布','黔西南','楚雄','资阳','河池','朔州','呼伦贝尔','陇南','铜川','普洱','巴彦淖尔','喀什','兴安','阿拉善','乌海','阿克苏','白城','中卫','昌吉','锡林郭勒','海东','商洛','临沧','攀枝花','鸡西','张掖','通化','石嘴山','平凉','白银','鹤岗','白山','崇左','伊春','博尔塔拉','临夏','固原','儋州','双鸭山','海西','林芝','金昌','和田','塔城','甘孜','辽源','黑河','吐鲁番','七台河','武威','阿勒泰','甘南','阿坝','昌都','迪庆','三沙','怒江','日喀则','大兴安岭','海北','阿里','海南','黄南','果洛','玉树','克孜勒苏','哈密','山南','那曲']
    #设置1-5线城市列表,按照一定比例随机
    i = random.random()
    if  i<=0.3:
        a=random.choice(c1)
    elif i<=0.5:
        a = random.choice(c1_new)
    elif i<=0.7:
        a = random.choice(c2)
    elif i<=0.85:
        a = random.choice(c3)
    elif i <= 0.95:
        a = random.choice(c4)
    else:
        a = random.choice(c5)
    return a

def user_cr_time():
    #随机时间
    a=radar.random_datetime('2020-01-01 00:00:00','2023-06-04 23:59:59')
    return a

def user_job():
    a=random.choice(['教师','工人','记者','演员','厨师'
                    ,'医生','护士','司机','军人','律师'
                    ,'商人','会计','店员','出纳','作家'
                    ,'导游','模特','警察','歌手','画家'
                    ,'裁缝','翻译','法官','保安','花匠'
                    ,'服务员','清洁工','建筑师','理发师','采购员'
                    ,'设计师','消防员','机修工','推销员','魔术师'
                    ,'模特儿','邮递员','售货员','救生员','运动员'
                    ,'工程师','飞行员','管理员','机械师','经纪人'
                    ,'审计员','漫画家','园艺师','科学家','主持人'
                    ])
    #随机设置职业
    return a


def inser_sql_user(id):
    #拼接成完整的SQL
    a="""INSERT INTO prod.user_info VALUES ("""+str(id)+""",'"""+user_name()+"""','"""+str(user_sex())+"""',"""+str(user_age())+""",'"""+user_email()+"""',"""+str(user_phone())+""",'"""+user_city()+"""','"""+str(user_cr_time())+"""','"""+user_job()+"""');"""
    return a

Guess you like

Origin blog.csdn.net/weixin_39407597/article/details/131057668