使用yied生成数据

需求:
生成xlsx文档,包括3列:用户名,账号,邮箱,其中用户名不能重复,且为手机格式。
在这里插入图片描述

import xlwt

def gen_vpn_user(num):
    ##generate frist line
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('Sheet1')
    frist_line = ['用户名', '姓名', '邮箱']

    for i in range(len(frist_line)):
        worksheet.write(0, i, frist_line[i])
    num_base1 = '18000000000'
    num_base2 = num_base1[:(len(num_base1)-len(str(num)))]

    for i in range(num):
        tmp_num = num_base2+str(i).zfill(len(str(num)))
        tmp_meil = tmp_num + '@qq.com'
        yield (tmp_num,'t',tmp_meil)

        worksheet.write(i + 1, 0, tmp_num)
        worksheet.write(i + 1,1,'t')
        worksheet.write(i + 1, 2, tmp_meil)
    workbook.save(r'C:\Users\tester\Desktop\vpn_user.xlsx')‘’‘


使用yield
def random_num(num):
    """
    generate phone number,name,email
    :param num:
    :return:
    """
    num_base1 = '17400000000'
    num_base2 = num_base1[:(len(num_base1)-len(str(num)))]

    for i in range(num):
        ##str(i).zfill(n),n位字符串,不足补充0
        tmp_num = num_base2+str(i).zfill(len(str(num)))
        tmp_mail = tmp_num + '@qq.com'
        yield (tmp_num,'t',tmp_mail)

def gen_vpn_user(num):
    """
    generate data,and save xlsx
    :param num:
    :return:
    """
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('Sheet1')
    frist_line = ['用户名', '姓名', '邮箱']

    ran_num = random_num(num)
    for i in range(num):
        ###frist line
        if i == 0:
            for j in range(len(frist_line)):
                worksheet.write(i, j, frist_line[j])
        else:
            info = next(ran_num)
            for j in range(len(frist_line)):
                worksheet.write(i, j, info[j])
    workbook.save(r'C:\Users\tester\Desktop\vpn_user.xlsx')

if __name__ == '__main__':
    gen_vpn_user(101)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值