使用Faker造测试数据

一、Faker的安装

1、进入python安装目录,例如 "D:\Python36\Scripts"
2、按Shift,右键选中Scripts文件夹
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120184207107.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppbnd1MTg=,size_16,color_FFFFFF,t_70#pic_center)


```bash
pip install faker

二、Faker的使用
参见https://faker.readthedocs.io/en/master/locales/zh_CN.html

三、使用faker造假数据并存入excel,样例

# coding=utf-8 #
__author__ = '爱吃苹果的鱼'

import openpyxl, sys
from faker import Faker                                                           #假数据库
from random import randint
from datetime import datetime

def task(number, suffix=None):                                                     #测试数据生成
    task = []
    title = ['姓名','证件号码','手机号','电子邮箱','任务名称','任务地址',
             '任务描述','任务开始日期','任务结束日期','任务所属人','任务所属人电话']
    task.append(title)
    faker = Faker(locale='zh_CN')
    for i in range(number):
        name = faker.name()                                                         #名字
        certNo = faker.ssn()                                                        #证件号码
        phone = faker.phone_number()                                                #手机号
        email = faker.email()                                                       #电子邮件                                                           #银行预留手机号
        taskName = faker.job() # '测试任务'+ str(randint(1000000000, 9999999999))   #任务名称
        taskAddr = faker.address()                                                  #任务地址
        taskDescription = faker.paragraph(nb_sentences=5)                           #任务描述
        taskStart = faker.date_time_between(start_date="-10d", end_date="now", tzinfo=None)  # 两个时间间的一个随机时间
        taskEnd = faker.date_time_between(start_date="now", end_date="+10d", tzinfo=None)    # 两个时间间的一个随机时间
        taskOwner = faker.name()                                                    #任务负责人
        taskOwnerPhone = faker.phone_number()                                       #负责人电话

        tmp =  [name, certNo, phone, email, taskName, taskAddr, taskDescription, taskStart, taskEnd, taskOwner,
                taskOwnerPhone]
        task.append(tmp)
    return task

import pathlib
def fileChk(file):                                                                  #文件检查
    if pathlib.Path(file).exists():
        return True
    else:
        return False

def write(dict, file, sheetName):                                                   #写入excel
    if not fileChk(file):
        pathlib.Path(file).touch(exist_ok=True)
        print('文件不存在,已创建')
    workbook = openpyxl.Workbook()
    sheet = workbook.active
    sheet.title = sheetName
    for i in range(0, len(dict)):
        for j in range(0, len(dict[i])):
            sheet.cell(row=i+1, column=j+1, value=str(dict[i][j]))
    workbook.save(file)

def main(argv):
    dict = task(5, argv)
    print(dict)
    write(dict, 'c:/task.xlsx', 'task')

if __name__=='__main__':
    main(sys.argv)

执行后,生产excel为:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值