使用python生成随机中奖姓名和电话号码并存入excel

这两天公司做了一个抽奖活动,需要将一些excel的文档转换成带有*号的形式发表到公众号上,由于每天都有固定的数据量,随即想到用python脚本实现生成随机姓名和电话,以及中奖信息。

首先引入需要用到的包。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import xlwt
import xlrd
from xlrd import *
from xlutils.copy import copy
from datetime import datetime
import time
import random

然后准备需要的数据,这里要生成随机姓名,首先要准备百家姓,还有实用的名字,名字我也是找很久没找到,后面自己去网上复制一些名字,然后用join把所有的字加上“”,生成单个字符。然后会用到三大运营商手机号段。以及中奖的金额。

list_tel=['134','135','136','137','138','139','147','150','151','152','157','158','159','178',
          '182','183','184','187','188','198','130','131','132','155','156','145','176','185',
          '186','166','133','149','153','173','177','180','181','189','199']
list_tel4=['0','1','2','3','4','5','6','7','8','9']
list_firstname=['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '楮', '卫', '蒋', '沈', '韩', '杨',
                '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜',
                '戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎',
                '鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳', '酆', '鲍', '史', '唐',
                ]
list_midname=['梦','琪','忆','柳','之','绿','冰','蓝','灵','槐','平','安','书','翠','翠','风',
              '香','巧','代','云','梦','曼','幼','翠','友','巧','听','寒','梦','柏','醉','易',
              '旋','亦','玉','凌','萱','访','卉','怀','亦','笑','蓝','春','翠','靖','柏','夜',
              '蕾','冰','夏','梦','松','书','雪','乐','枫','念','薇','靖','雁','寻','春','恨',
              '山','从','寒','忆','香','觅','波','静','曼','凡','旋','以','亦','念','露','芷',
              '蕾','千','兰','新','波','代','真','新','蕾','雁','玉','冷','卉','紫','山','千',
              '琴','恨','天','傲','芙','盼','山','怀','蝶','冰','兰','山','柏','翠','萱','恨',
              '松','问','旋','从','南','白','易','问','筠','如','霜','半','芹','丹','珍','冰',
              '彤','亦','寒','寒','雁','怜','云','寻','文','乐','丹','翠','柔','谷','山','之',
              '瑶','冰','露','尔','珍','谷','雪','乐','萱','涵','菡','海','莲','傲','蕾','青',
              '槐','冬','儿','易','梦','惜','雪','宛','海','之','柔','夏','青','亦','瑶','妙',
              '菡','春','竹','痴','梦','紫','蓝','晓','巧','幻','柏','元','风','冰','枫','访',
              '蕊','南','春','芷','蕊','凡','蕾','凡','柔','安','蕾','天','荷','含','玉','书',
              '兰','雅','琴','书','瑶','春','雁','从','安','夏','槐','念','芹','怀','萍','代',
              '曼','幻','珊','谷','丝','秋','翠','白','晴','海','露','代','荷','含','玉','书',
              '蕾','听','白','访','琴','灵','雁','秋','春','雪','青','乐','瑶','含','烟','涵',
              '双','平','蝶','雅','蕊','傲','之','灵','薇','绿','春','含','蕾','从','梦','从',
              '蓉','初','丹','听','兰','听','蓉','语','芙','夏','彤','凌','瑶','忆','翠','幻',
              '灵','怜','菡','紫','南','依','珊','妙','竹','访','烟','怜','蕾','映','寒','友',
              '绿','冰','萍','惜','霜','凌','香','芷','蕾','雁','卉','迎','梦','元','柏','代',
              '萱','紫','真','千','青','凌','寒','紫','安','寒','安','怀','蕊','秋','荷','涵',
              '雁','以','山','凡','梅','盼','曼','翠','彤','谷','冬','新','巧','冷','安','千',
              '萍','冰','烟','雅','阳','友','绿','南','松','诗','云','飞','风','寄','灵','书',
              '芹','幼','蓉','以','蓝','笑','寒','忆','寒','秋','烟','芷','巧','水','香','映',
              '之','醉','波','幻','莲','夜','山','芷','卉','向','彤','小','玉','幼','南','凡',
              '梦','尔','曼','念','波','迎','松','青','寒','笑','天','涵','蕾','碧','菡','映',
              '秋','盼','烟','忆','山','以','寒','寒','香','小','凡','代','亦','梦','露','映',
              '波','友','蕊','寄','凡','怜','蕾','雁','枫','水','绿','曼','荷','笑','珊','寒',
              '珊','谷','南','慕','儿','夏','岚','友','儿','小','萱','紫','青','妙','菱','冬',
              '寒','曼','柔','语','蝶','青','筠','夜','安','觅','海','问','安','晓','槐','雅',
              '山','访','云','翠','容','寒','凡','晓','绿','以','菱','冬','云','含','玉','访',
              '枫','含','卉','夜','白','冷','安','灵','竹','醉','薇','元','珊','幻','波','盼',
              '夏','元','瑶','迎','曼','水','云','访','琴','谷','波','乐','之','笑','白','之',
              '山','妙','海','紫','霜','平','夏','凌','旋','孤','丝','怜','寒','向','萍','凡',
              '松','青','丝','翠','安','如','天','凌','雪','绮','菱','代','云','南','莲','寻',
              '南','春','文','香','薇','冬','灵','凌','珍','采','绿','天','春','沛','文','紫',
              '槐','幻','柏','采','文','春','梅','雪','旋','盼','海','映','梦','安','雁','映',
              '容','凝','阳','访','风','天','亦','平','绿','香','风','霜','雪','柳','雪','靖',
              '白','梦','飞','绿','如','波','又','晴','友','香','菱','冬','亦','问','妙','春',
              '海','冬','半','安','平','春','幼','柏','秋','灵','凝','芙','念','烟','白','山',
              '从','灵','尔','芙']
list_lastname=['梦','琪','忆','柳','之','绿','冰','','蓝','灵','槐','平','安','书','翠','翠','风',
              '香','巧','代','云','梦','曼','','幼','翠','友','巧','听','寒','梦','柏','醉','易',
              '旋','亦','玉','凌','','萱','访','卉','怀','亦','笑','蓝','春','翠','靖','柏','夜',
              '蕾','冰','夏','梦','','松','书','雪','','乐','枫','','念','薇','靖','雁','寻','春','恨',
              '山','从','寒','忆','香','觅','波','静','曼','凡','旋','','以','亦','念','露','芷',
              '蕾','','千','兰','新','波','代','真','新','蕾','雁','玉','冷','卉','紫','山','千',
              '','琴','恨','天','傲','芙','盼','山','怀','蝶','冰','兰','山','柏','翠','萱','恨',
              '松','问','','旋','从','','南','白','','易','问','筠','如','霜','半','芹','丹','珍','冰',
              '彤','亦','寒','寒','雁','怜','','云','寻','','文','乐','丹','翠','柔','谷','山','之',
              '瑶','冰','露','尔','珍','谷','雪','乐','萱','','涵','菡','海','莲','傲','蕾','青',
              '槐','冬','儿','易','梦','惜','','雪','宛','海','之','柔','夏','青','亦','瑶','妙',
              '菡','春','竹','痴','梦','紫','','蓝','晓','巧','幻','','柏','元','风','冰','枫','访',
              '蕊','南','春','芷','蕊','凡','蕾','凡','柔','安','蕾','','天','荷','含','玉','书',
              '兰','雅','琴','书','瑶','春','雁','从','安','夏','槐','念','芹','怀','萍','代',
              '曼','幻','珊','谷','丝','秋','翠','白','晴','海','露','代','','荷','含','玉','书',
              '蕾','听','白','访','琴','灵','雁','秋','春','雪','青','乐','瑶','含','烟','涵',
              '双','平','蝶','雅','蕊','','傲','之','灵','薇','绿','春','含','蕾','从','梦','从',
              '蓉','初','丹','听','兰','','听','蓉','语','芙','夏','彤','凌','瑶','忆','翠','幻',
              '灵','怜','菡','紫','南','依','珊','妙','竹','访','烟','怜','蕾','映','寒','友',
              '绿','冰','萍','惜','霜','','凌','香','芷','蕾','','雁','卉','迎','梦','元','柏','代',
              '萱','紫','真','千','青','凌','寒','紫','安','','寒','安','怀','蕊','秋','荷','涵',
              '雁','以','山','凡','梅','盼','曼','翠','彤','谷','冬','新','巧','冷','安','千',
              '萍','冰','烟','雅','阳','友','绿','南','松','诗','云','飞','风','寄','灵','书',
              '芹','幼','蓉','以','蓝','笑','寒','忆','寒','','秋','烟','芷','巧','水','香','映',
              '之','醉','波','幻','莲','夜','山','芷','卉','向','彤','小','玉','幼','南','凡',
              '梦','尔','曼','念','波','迎','松','青','寒','笑','天','涵','蕾','碧','菡','映',
              '秋','盼','烟','忆','山','以','寒','寒','香','','小','凡','代','亦','梦','露','映',
              '波','友','蕊','寄','凡','怜','蕾','雁','枫','','水','绿','曼','荷','笑','珊','寒',
              '珊','谷','南','慕','儿','夏','岚','友','儿','','小','萱','紫','青','妙','菱','冬',
              '寒','曼','柔','语','蝶','青','筠','夜','安','','觅','海','问','安','晓','槐','雅',
              '山','访','云','翠','容','寒','凡','晓','绿','','以','菱','冬','云','含','玉','访',
              '枫','含','卉','夜','白','冷','安','灵','竹','','醉','薇','元','珊','幻','波','盼',
              '夏','元','瑶','迎','曼','水','云','访','琴','','谷','波','乐','之','笑','白','之',
              '山','妙','海','紫','霜','平','夏','凌','旋','','孤','丝','怜','寒','向','萍','凡',
              '松','青','丝','翠','安','如','天','凌','雪','','绮','菱','代','云','南','莲','寻',
              '南','春','文','香','薇','冬','灵','凌','珍','采','绿','天','春','沛','文','紫',
              '槐','幻','柏','采','文','春','梅','雪','旋','盼','海','映','梦','安','雁','映',
              '容','凝','阳','访','风','天','亦','平','绿','香','风','霜','雪','柳','雪','靖',
              '白','梦','飞','绿','如','波','又','晴','友','香','菱','冬','亦','问','妙','春',
              '海','冬','半','安','平','','','','','','','春','幼','柏','秋','灵','凝','芙',
             '念','烟','白','山','从','灵','尔','芙']
list_price=['5元话费','10元话费','30元话费','50元话费','100元话费'] #中奖列表

最后开始处理数据

由于中间号码和名字需要展示为*,这里的方法有点笨

由于一部分人是单字名,所以第三组姓名的数据中可以放一些空值,就可以生成一个姓一个名的名字了。

filename =xlwt.Workbook()  #新建工作簿
sheet1=filename.add_sheet("名单")

for i in range(259):
#随机生成姓名    
name = random.choice(list_firstname)+random.choice(list_midname)+random.choice(list_lastname)
    if len(name) == 2:
        name = name[0] + "*"
    else:
        name = name[0] + "*" + name[2]
    phone = random.choice(list_tel)+tel_mid+random.choice(list_tel4)+random.choice(list_tel4) + random.choice(list_tel4)+random.choice(list_tel4)
    price = random.choice(list_price)
    sheet1.write(i, 0, name) #依次是行号,列号,存入的数据
    sheet1.write(i, 1, phone)
    sheet1.write(i, 2, price)
    print(name,phone,price)
filename.save(r"C:\Users\Administrator\Desktop\python\21日随机数据.xlsx")
新建工作簿之后一定要有保存的代码和路径,否则你会看不见你新建的工作簿。

第一次分享,感触颇深,还有很多需要完善的地方,欢迎大家批评指正。

你可能感兴趣的:(Python)