对多条件进行组合,生成笛卡尔积的用例集合的python代码实现
做专项测试需要对一些因素进行组合的测试,这里组合起来后数据量可能很大,我们可以用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.由于测试某个功能,需要生成500W条数据的txt,python代码如下
txt内容是手机号,数量500W,采用python代码生成,用时60S,本人技能有限,看官如果有更快的写法,欢迎留言交流. import random f = open("D:\\data. ...
- 【原创】开源.NET排列组合组件KwCombinatorics使用(一)—组合生成
本博客所有文章分类的总目录:本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 KwCombinatorics组件文章目录: 1. ...
- JavaEE开发之Spring中的条件注解组合注解与元注解
上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...
- 数据可视化之powerBI技巧(七)从Excel到PowerBI,生成笛卡尔积的几种方式
假如分别有100个不重复的姓和名,把每个姓和名进行组合匹配,就可以得到一万个不重复的姓名组合,这种完全匹配的方式就是生成一个姓名的笛卡尔积. 下面就来看看生成笛卡尔积的几种方式,为了展现的方便,以5个 ...
- js 生成笛卡尔积
其实生成 笛卡尔积的方法原本很简单,for循环就可以了, function discarts() { //笛卡尔积 var twodDscartes = function (a, b) { var r ...
- sqlserver 表中记录生成insert,可以加条件,可以生成建表语句
sqlserver 表中记录生成insert,可以加条件,可以生成建表语句 create PROCEDURE [sp_getinsert] ( ) , --如果非默认架构,可以加上架构名 例如:sch ...
- FLASK-SQLALCHEMY如何使用or和and条件进行组合查询
FLASK-SQLALCHEMY如何使用or和and条件进行组合查询 http://www.cherishlau.site/2018/03/29/flask-sqlalchemy-use-or-and ...
- [Dynamic Language] 用Sphinx自动生成python代码注释文档
用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...
- 基于数据库的自动化生成工具,自动生成JavaBean、数据库文档、框架代码等(v5.8.8版)
TableGo v5.8.8版震撼发布,此次版本更新如下: 1.新增两个扩展字段,用于生成自定义模板时使用. 2.自定义模板新增模板目录,可以选择不同分类目录下的模 ...
随机推荐
- 处理安卓和ios当页面原生键盘弹出,输入框不显示
$('input').on('click', function () { var target = this; // 使用定时器是为了让输入框上滑时更加自然 setTimeout(function() ...
- Java核心技术第四章——3.对象构造
重载: 如果多个方法(包含构造方法)有相同的名字.不同的参数,便产生重载.编译器必须挑选出具体执行哪个方法,它通过用各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配挑选出相对应的方法. 如果 ...
- Java实现Http请求的常用方式
一.使用Java自带的java.io和java.net包. 实现方式如下: public class HttpClient { //1.doGet方法 public static String doG ...
- Python捕捉系统信号
#!/usr/bin/env python # -*- coding: utf-8 -*- import signal import sys """ Python捕捉中断 ...
- kubernetes系列12—二个特色的存储卷configmap和secret
本文收录在容器技术学习系列文章总目录 1.configmap 1.1 认识configmap ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件.ConfigMa ...
- 你的响应阻塞了没有?--Spring-WebFlux源码分析
1. Spring WebFlux是什么? Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架. 与Spring MVC不同,它不需要Servlet A ...
- [JavaScript] Cookie,localStorage,sessionStorage概述
Cookie Cookie 是一些数据, 存储于你电脑上的文本文件中,当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息.Cookie 的作用就是存储 web 页面 ...
- 从一个点子到一个社区APP,是如何通过.NET实现的?——“文林物业系统”APP介绍及采访记录
“文林物业系统”(简称“文林社区”)是一款与物业管理软件无缝衔接的移动端系统.可在线查看通知公告.报修.投诉建议.查询物业管理费.水电气等其他费用,并且支持在线缴费.以物业管理为接入点,在未来,将会致 ...
- js获取url 中的值,并跳转相应页面
实现方法:一:获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET1.函数: <Script lang ...
- C#连接基于Java开发IM——Openfire
Openfire简介 Openfire 是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器.Openfire的效率很高,单台服务器可支持上万并发用户. ...