背景
开启我的第一篇博客写作,以后记录我的整个工作和学习历程。本篇文章主要讲生成测试数据的需求,我们在工作中经常遇见生成上万条测试,要么批量写入excel,要么写入关系型数据库,要么写入图数据库带有网状结构的数据,手动去造,一方面效率低,另一方面无法保证数据的随机性。本篇文章先讲往excel批量写入测试数据。
工具和思路
三个步骤:
- 生成测试数据。特殊的数据需要自己代码实现,比较通用的数据我推荐直接采用faker库去生成
- 组装数据,将数据组装成需要写入excel的格式
- 写入数据,采用的openpyxl库
如何做
-
安装faker
pip install Faker
具体的api文档:
faker接口文档地址:https://faker.readthedocs.io/en/master/locales/zh_CN.html
生成的每一行的数据代码块:
from faker import Faker def faker_maker(i): f = Faker(locale='zh_CN') #组装生成的每行数据,包括姓名,手机号,faker库的强大 faker_list = [] name = f.name() num_three = f.numerify() word =f.word() faker_list.append(str(i+1)) faker_list.append(name) faker_list.append(word) faker_list.append(num_three) print(faker_list) faker_maker(0)
生数据的样式:
['1', '唐帅', '为了', '848']
我这我一个特殊需求,需要生成111,112,113开头,还需要一定比例的测试数据,例如比例是3:3:4,我的想法是,把这个数据按照这个比例放在列表中,每次随机在里面取值,虽然做法low,但是可行的,代码如下:
import random #生成比例手机号 def maker_phone(