需求:
生成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)