做专项测试需要对一些因素进行组合的测试,这里组合起来后数据量可能很大,我们可以用python来代劳

代码有优化空间,目前先用着。

************************代码开始*****************************

__author__ = 'Administrator'

from itertools import product
import openpyxl

标题=['视频尺寸','检测类型','天气','路况','摄像头方向','摄像头高低','摄像头角度']

视频尺寸=['4cif','720p']
检测类型=['外场']
天气=['晴天白天','雨天白天','雾天','傍晚','阴天','凌晨']
路况=['畅通','较拥堵','拥堵']
摄像头方向=['车头','车尾']
摄像头高低=['高','低']
摄像头角度=['轻微偏移','大幅度偏移']

视频尺寸1=['4cif','720p']
检测类型1=['隧道']
亮度=['开灯']
路况1=['畅通','较拥堵','拥堵']
摄像头方向1=['车头','车尾']
摄像头高低1=['高','低']
摄像头角度1=['轻微偏移','大幅度偏移']

#写入excel的第一行是标题
ob=openpyxl.load_workbook('E:\\work\\AI001.xlsx')
sheet_1=ob["data2"]

dict_1={}
data_1=[]
count_1=0
for a,b,c,d,e,f in product(检测类型,天气,路况,摄像头方向,摄像头高低,摄像头角度):
data_1=[]
data_1.append(a)
data_1.append(b)
data_1.append(c)
data_1.append(d)
data_1.append(e)
data_1.append(f)
# data_1.append(g)
dict_1[count_1]=data_1
count_1=count_1+1

# print(len(dict_1))

dict_2={}
data_2=[]
count_2=len(dict_1)
for a1,b1,c1,d1,e1,f1, in product(检测类型1,亮度,路况1,摄像头方向1,摄像头高低1,摄像头角度1):
# print(a1,b1,c1,d1,e1,f1,g1)
data_2=[]
data_2.append(a1)
data_2.append(b1)
data_2.append(c1)
data_2.append(d1)
data_2.append(e1)
data_2.append(f1)
# data_2.append(g1)
dict_2[count_2]=data_2
count_2=count_2+1

# print(dict_1)
#两个字典合并为一个字典来处理
# dict_3=dict(dict_1.items() + dict_2.items())
dict_3={}
dict_3.update(dict_1)
dict_3.update(dict_2)

# print(dict_3)
# print(dict_2)
for k in dict_3:
data_3=dict_3[k]
# print(data_3)
for i in range(1,7):
sheet_1.cell(k+1,i).value=(data_3[i-1])
# print(data_3[i-1])

ob.save('E:\\work\\AI001.xlsx')
# for a1,b1,c1,d1,e1,f1,g1 in product(视频尺寸1,检测类型1,亮度,路况1,摄像头方向1,摄像头高低1,摄像头角度1):
# print(a1,b1,c1,d1,e1,f1,g1)

************************代码结束*****************************

对多条件进行组合,生成笛卡尔积的用例集合的python代码实现的更多相关文章

  1. 1.由于测试某个功能,需要生成500W条数据的txt,python代码如下

    txt内容是手机号,数量500W,采用python代码生成,用时60S,本人技能有限,看官如果有更快的写法,欢迎留言交流. import random f = open("D:\\data. ...

  2. 【原创】开源.NET排列组合组件KwCombinatorics使用(一)—组合生成

           本博客所有文章分类的总目录:本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 KwCombinatorics组件文章目录: 1. ...

  3. JavaEE开发之Spring中的条件注解组合注解与元注解

    上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...

  4. 数据可视化之powerBI技巧(七)从Excel到PowerBI,生成笛卡尔积的几种方式

    假如分别有100个不重复的姓和名,把每个姓和名进行组合匹配,就可以得到一万个不重复的姓名组合,这种完全匹配的方式就是生成一个姓名的笛卡尔积. 下面就来看看生成笛卡尔积的几种方式,为了展现的方便,以5个 ...

  5. js 生成笛卡尔积

    其实生成 笛卡尔积的方法原本很简单,for循环就可以了, function discarts() { //笛卡尔积 var twodDscartes = function (a, b) { var r ...

  6. sqlserver 表中记录生成insert,可以加条件,可以生成建表语句

    sqlserver 表中记录生成insert,可以加条件,可以生成建表语句 create PROCEDURE [sp_getinsert] ( ) , --如果非默认架构,可以加上架构名 例如:sch ...

  7. FLASK-SQLALCHEMY如何使用or和and条件进行组合查询

    FLASK-SQLALCHEMY如何使用or和and条件进行组合查询 http://www.cherishlau.site/2018/03/29/flask-sqlalchemy-use-or-and ...

  8. [Dynamic Language] 用Sphinx自动生成python代码注释文档

    用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...

  9. 基于数据库的自动化生成工具,自动生成JavaBean、数据库文档、框架代码等(v5.8.8版)

    TableGo v5.8.8版震撼发布,此次版本更新如下:          1.新增两个扩展字段,用于生成自定义模板时使用.          2.自定义模板新增模板目录,可以选择不同分类目录下的模 ...

随机推荐

  1. 微信小程序 写一个获取验证码 及setInterval 使用基本方法

    <!--index.wxml--> <view class="container"> <view class="container_cont ...

  2. python-memcached学习笔记

    介绍: memcached是免费.开源.高性能.分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态web应用程序的使用. 数据类型:只用一种字符串类型 1:安装 sudo apt- ...

  3. Vue(day3)

    一.Vue中的ajax:vue-resource和axios vue-resource是Vue实现异步加载的官方库,即Vue中的ajax.在Vue2.js之后vue-resource将不再更新维护,所 ...

  4. 微信小程序开发07-列表页面怎么做

    接上文:微信小程序开发06-一个业务页面的完成 github地址:https://github.com/yexiaochai/wxdemo 我们首页功能基本完成,我对比了下实际工作中的需求,完成度有7 ...

  5. JAVA线程池学习,ThreadPoolTaskExecutor和ThreadPoolExecutor有何区别?

    初学者很容易看错,如果没有看到spring或者JUC源码的人肯定是不太了解的. ThreadPoolTaskExecutor是spring core包中的,而ThreadPoolExecutor是JD ...

  6. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  7. Form 表单提交的几种方式

    简单的总结一下form表单提交的几种方式:1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的   这种方式最近到一个form提供action路径后台接受就可以< ...

  8. 在ASP.NET Core中构建路由的5种方法

    原文链接 :https://stormpath.com/blog/routing-in-asp-net-core 在ASP.NET Core中构建路由的5种方法 原文链接 :https://storm ...

  9. Asp.Net MVC Https设置

    1.   IIS设置 1.1 创建SSL证书 点击左侧菜单栏顶部,点击“功能视图”里的“服务器证书”: 点击“创建自动签名证书”创建自动签名证书: 1.2 设置SSL证书 点开网站,在“功能视图”里点 ...

  10. 前后端分离密码登陆加密RSA方案(java后端)

    前言:密码加密有很多种方案,这里不做过多讨论,本篇文章是基于RSA加密实现. 首先在前端工程中需要引入加密js: "jsencrypt": "2.3.1",(注 ...