asp sql 导出 excel_Mysql数据导出到excel基于python
閱讀本文大概需要 6分鐘。
數據除了在測試平臺顯示,有時候也會習慣用excel以及郵件展示,那么我們可以在測試平臺上加一個導出excel功能,方便操作,下面介紹主要代碼以及邏輯。
使用操作數據庫的pymysql庫,以及操作excel的xlwt庫,源碼以及注釋如下:
import pymysqlimport 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 = 1for resultin results:
??????? col = 0print(type(result))print(result)foritem in result:print(item)
??????????? sheet.write(row, col, item)
??????????? col += 1row += 1workbook.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?i?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 =?1for?result?in?results:? #把結果循環寫入到sheet
??????? col =?0print(type(result))print(result)for?item?in?result:print(item)
??????????? sheet.write(row, col, item)
??????????? col +=?1row +=?1workbook.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呢
總結
以上是生活随笔為你收集整理的asp sql 导出 excel_Mysql数据导出到excel基于python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 回答面试官:如何保证消息不丢失
- 下一篇: 发年终奖了,送台MacBook Air!