zoukankan      html  css  js  c++  java
  • python生成excel测试数据

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

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

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

      主要实现的功能是:

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

      2、列数自定义;

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

    代码如下:

    from openpyxl import Workbook
    from openpyxl import load_workbook
    import os
    import random

    files=r'C:UsersAdministratorDesktop est estdata.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)

    生产的文件结果:
    
    
    
  • 相关阅读:
    caffe用到的命令和零碎知识
    Manjaro — ssh出现22端口拒绝访问问题(port 22: Connection refused)
    Linux 解压z01 .z02 .z03... zip分卷
    Manjaro_Windows双系统安装
    Linux 的chsh命令
    mat2json, python读取mat成字典, 保存json
    最便捷的caffe编译方法 ---- cmake+anaconda虚拟环境
    复制跳过软链接
    使用Screen解决ssh连接中断导致的训练中断问题
    Caffe训练时Loss=87.3365问题
  • 原文地址:https://www.cnblogs.com/whitemouseV2-0/p/10756501.html
Copyright © 2011-2022 走看看