在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常,

如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常。大量的数据手工写太过于耗时耗力,

所以,今天用python写了一个生产excel测试数据的脚本,用于以后测试类似功能时,生产测试数据使用。

  主要实现的功能是:

  1、自定义生产数据的行数;

  2、列数自定义;

  3、每列自定义是固定值、拼接自增长、随机值;

代码如下:

from openpyxl import Workbook
from openpyxl import load_workbook
import os
import random files=r'C:\Users\Administrator\Desktop\test\testdata.xlsx' #生成测试数据文件地址
total=50 #写入文件的总行数为total-1
columns_list=[{0:'liuwq'},{1:[1501344,1314368,1369189]},{2:[1,2,3]}]
#写入的对应列内容,如columns_list[0]为第一列的内容,olumns_list[1]为第二列的内容;
#columns_list[n]如果key是0,则value直接写入excel中;
# 1则取value的(list的)其中一个值,并拼接4位数字写入excel中;
# 2则随机取value的一个值写入excel; def WriteDataInExcel(files,columns_list,total):
if not os.path.exists(files):
wb = Workbook()
ws=wb.active
count_write=0
while True:
if count_write==total:
break
for i in range(2,total+1):
count_write=i
tails=str('0'*(4-len(str(i-1)))+str(i-1))
for idx,head in enumerate(columns_list,1):
if list(head.keys())[0]==1:
for hd in head[1]:
data=str(hd)+tails
if isinstance(hd,(int,float)):
ws.cell(row=i, column=idx, value=int(data))
else:
ws.cell(row=i, column=idx, value=data)
elif list(head.keys())[0]==0:
ws.cell(row=i, column=idx, value=head[0])
elif list(head.keys())[0]==2:
data=random.choice(head[2])
ws.cell(row=i, column=idx, value=data)
wb.save(files)
else:
wb=load_workbook(files)
ws=wb.active
count_write=0
while True:
if count_write==total:
break
for i in range(2,total+1):
count_write=i
tails=str('0'*(4-len(str(i-1)))+str(i-1))
for idx,head in enumerate(columns_list,1):
if list(head.keys())[0]==1:
for hd in head[1]:
data=str(hd)+tails
if isinstance(hd,(int,float)):
ws.cell(row=i, column=idx, value=int(data))
else:
ws.cell(row=i, column=idx, value=data)
elif list(head.keys())[0]==0:
ws.cell(row=i, column=idx, value=head[0])
elif list(head.keys())[0]==2:
data=random.choice(head[2])
ws.cell(row=i, column=idx, value=data)
wb.save(files) if __name__=="__main__":
WriteDataInExcel(files, columns_list, total) 生产的文件结果:
												

python生成excel测试数据的更多相关文章

  1. python生成Excel图表(通过xlsxwriter)

    前面介绍了pandas的简单用法,pandas的数据可以通过matlab第三方包将数据生成报表,但是我想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图标   缺点:xl ...

  2. 小兴趣:用python生成excel格式座位表

    脚本分两个文件: 1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py 先上GenerateLocaltion.py: impor ...

  3. python生成excel格式座位表

    脚本分两个文件: 1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py 先上GenerateLocaltion.py: impor ...

  4. Python生成随机测试数据

    前言 安装 pip install Faker 使用 from faker import Faker fake = Faker() name = fake.name() address = fake. ...

  5. python 生成excel,并下载到本地

    from django.shortcuts import reverse,redirect,render from operations import models import xlwt impor ...

  6. python生成excel文件

    2018-04-1919:04:25 测试代码如下: import openpyxl import datetime wb = openpyxl.Workbook() ws = wb.active w ...

  7. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告

    1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...

  8. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)

    可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...

  9. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)

    前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...

随机推荐

  1. 【原创】大叔经验分享(2)为什么hive在大表上加条件后执行limit很慢

    问题重现 select id from big_table where name = 'sdlkfjalksdjfla' limit 100; 首先看执行计划: hive> explain se ...

  2. 【sklearn】数据预处理 sklearn.preprocessing

    数据预处理 标准化 (Standardization) 规范化(Normalization) 二值化 分类特征编码 推定缺失数据 生成多项式特征 定制转换器 1. 标准化Standardization ...

  3. 十三.iptabled配置

    期中集群架构-第十三章-iptables防火墙网路安全实践配置========================================= 01:iptables防火墙网路安全前言介绍 学好ip ...

  4. windows下的node环境搭建

    node环境的搭建过程: 1.首先在nodejs.org官网上下载一个msi安装文件,安装(过程很简单,基本上是一路next) 2.安装完成后,简单测试下是否安装成功,在cmd下输入两个命令: nod ...

  5. Mac 桌面软件开发基础问答

    1> Mac OS X平台下的桌面软件是由什么编程语言处理 答: 由Objective-C, swift编程语言处理 2> Mac OS X平台下的桌面软件是由什么框架构建 答: 由Coc ...

  6. net core体系-web应用程序-4asp.net core2.0 项目实战(任务管理系统)-2项目搭建

    系统要求 首先建议采用 Windows 10 专业版/企业版/教育版,且必须是64位操作系统,原因是docker装起来比较方便,Win7装起来比较麻烦,且不确定是否有其他问题(自己没有实践过) 其次W ...

  7. java实验-3

    实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验内容 一.在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己 ...

  8. python面试必问 知识整理

      一 数据类型 1 数字 整型与浮点型   #整型int 作用:年纪,等级,身份证号,qq号等整型数字相关 定义: age=10 #本质age=int(10) #浮点型float 作用:薪资,身高, ...

  9. python使用urllib2 http 下载参数的try catch

    import urllib2 req = urllib2.Request('http://blog.csdn.net/cqcre')try: urllib2.urlopen(req)except ur ...

  10. C# ToString()和Convert.ToString()的区别【转】

    一.一般用法说明 ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型, ...