阅读本文大概需要 6分钟。

数据除了在测试平台显示,有时候也会习惯用excel以及邮件展示,那么我们可以在测试平台上加一个导出excel功能,方便操作,下面介绍主要代码以及逻辑。

使用操作数据库的pymysql库,以及操作excel的xlwt库,源码以及注释如下:

import pymysql
import xlwt

#连接数据库函数1

def get_conn():  
    coon = pymysql.connect(user='root',passwd='123456',db='autotest',port=3306,host=192.168.0.1,charset='utf8')
    return coon

#执行查询数据函数2

def query_all(cur, sql, args):  
    cur.execute(sql, args)
    return cur.fetchall()

#导出测试用例到export_to_excel_app_case.xls函数3

def read_mysql_to_xlsx2(filename):  
    list_table_head = ['用例编号', '用例名称', '测试结果', '测试人员', '测试时间', '项目']
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet('data', cell_overwrite_ok=True)
    for i in range(len(list_table_head)):
        sheet.write(0,i, list_table_head[i])
    conn = get_conn()  #调用连接数据库函数
    cur = conn.cursor()
    sql = 'SELECT * from app_interface_appcase where app_interface_appcase.module = "testcase"' #查询用例sql语句
   
results = query_all(cur, sql, None) #调用函数,定义记录查询到的数据           conn.commit()
    cur.close()
    conn.close()
    row = 1
    for resultin results:
        col = 0
        print(type(result))
        print(result)
        foritem in result:
            print(item)
            sheet.write(row, col, item)
            col += 1
        row += 1
    workbook.save(filename)

#导出测试用例步聚到export_to_excel_app_casestep函数4

def read_mysql_to_xlsx(filename): 
    list_table_head = ['用例编号''用例描述''测试步聚''测试对象名称描述''定位方式''控件元素类型''控件元素''操作方法''测试数据''验证数据''步聚测试结果''测试时间''用例测试结果''测试人员']  #定义表头
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet('data', cell_overwrite_ok=True)
    for in range(len(list_table_head)):
        sheet.write(0,i, list_table_head[i])
    conn = get_conn()   #调用连接数据库函数
    cur = conn.cursor()
    sql = 'SELECTa.id,appcasename,appteststep,apptestobjname,appfindmethod,appevelementtype,appevelement,appoptmethod,apptestdata,appassertdata,b.apptestresult,b.create_time,a.apptestresult,apptesterfrom app_interface_appcase as a,app_interface_appcasestep as b wherea.id=b.Appcase_id and module="testcase"'  #查询用例及步聚数据
   
results = query_all(cur, sql, None)  #调用函数,定义记录查询到的数据
    conn.commit()
    cur.close()
    conn.close()
    row = 1
    for result in results:  #把结果循环写入到sheet
        col = 0
        print(type(result))
        print(result)
        for item in result:
            print(item)
            sheet.write(row, col, item)
            col += 1
        row += 1
    workbook.save(filename)  #保存到excel文件

if __name__ == '__main__':

#调用导出测试用例函数

read_mysql_to_xlsx2('export_to_excel_app_case.xls')

#调用导出用例步聚函数

read_mysql_to_xlsx('export_to_excel_app_casestep.xls')

导出excel数据如下:

代码运行演示视频:

看完是不是觉得so easy

Mysql数据导出到excel-基于python的更多相关文章

  1. MySQL数据导出为Excel, json,sql等格式

    MySQL数据经常要导出为Excel, json,sql等格式,通过步骤都很多,麻烦,现在通过Treesoft可以方便的导出你要的数据格式. 1.在线执行SQL,在数据列表中有相应按钮,方便的将数据导 ...

  2. PHP实现MySQL数据导出为EXCEL(CSV格式)

    <?php // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header(' ...

  3. mysql数据导出为excel文件

    select * from  xi_table  into  outfile  ’d:test.xls’

  4. MySQL要导出成excel的方法

    MySQL 要导出成 excel 文件很简单,执行类似这样的命令:   select * from 某个表 into outfile  'd:/文件名.xls';   上述命令你在服务器上执行,就导在 ...

  5. Java利用Apache POI将数据库数据导出为excel

    将数据库中的数据导出为excel文件,供其他人查看 public class POITest { public static void main(String[] args) { POITest te ...

  6. tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)

    #tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', ...

  7. 用node.js写一个简单爬虫,并将数据导出为 excel 文件

    引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...

  8. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!

    一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...

  9. 学习笔记 DataGridView数据导出为Excel

    DataGridView数据导出为Excel   怎样把WinForm下的“DGV”里的绑定数据库后的数据导出到Excel中. 比如:在窗体里有个一“DGV”,DataGridView1,绑定了数据源 ...

随机推荐

  1. flask框架-下

    Local与偏函数 threasing.local 多个线程修改同一个数据,复制多份变量给每个线程用,为每个线程开辟一块空间进行数据存储. 不使用therading.local # 不用local f ...

  2. 关于Ueditor富文本编辑器的配置和使用心得

    一.环境和项目架构 本文章只是为了便于我个人记录日常笔记,如有错误或缺陷,请指出,文章仅供参考,如有转载请附上本文章链接. 介绍:将Ueditor富文本提交的内容直接生成Html文件,传到后台直接保存 ...

  3. 巧用函数,使Sql中in的用法更多变

    在Sql中我们经常会用到in 普遍的写法为 where xx in ('1','2','3') 通过函数写法为: IF EXISTS ( SELECT * FROM sys.objects WHERE ...

  4. urlopen error [errno 10060]的解决思路

    当用多线程爬取某个网站的数据的时候,爬取一段时间后,总出现urlopen error [errno 10060]的错误,结果线程无端的被挂掉,一开始的解决思路是每次连接的时候换用不同的useragen ...

  5. 【转】浅述WinForm多线程编程与Control.Invoke的应用

    环境:VS2008.C#3.0 在WinForm开发中,我们通常不希望当窗体上点了某个按钮执行某个业务的时候,窗体就被卡死了,直到该业务执行完毕后才缓过来.一个最直接的方法便是使用多线程.多线程编程的 ...

  6. Mybatis generator 数据库反向生成插件的使用

    直接上干货: 可生成数据库表对应的po  mpper接口文件 mapper.xml文件.文件中自动配置了部分常用的dao层方法.用于快速快发. 1.pom中引入插件: <plugin> & ...

  7. 虚拟机enp0s8网卡无法联网和开放linux端口

    1.虚拟机enp0s8网卡无法联网解决 在 VirtualBox 中安装好 centos7 后,发现使用 ping 命令测试连接外网 IP 地址,会报错,或者host-only网卡无ip,mobaXt ...

  8. zabbix数据库占用磁盘空间较大的处理方法

    du -h /* |sort -nr  使用此命令一步步排查发现/var/lib/mysql/zabbix/这个目录占用磁盘空间较大 发现history_log.ibd这个文件最大,达到了38G,此文 ...

  9. 编译原理_P1004

    龙书相关知识点总结 //*************************引论***********************************// 1. 编译器(compiler):从一中语言( ...

  10. Hibernate/JPA中@Where使用时注意

    在使用Hibernate或者JPA时,我们经常会使用@Where注解实现查询过滤,在实体类上.实体属性上.查询语句上都有应用. 例如: @Where(clause = "status != ...