zoukankan      html  css  js  c++  java
  • python 将execl测试数据导入数据库操作

    import xlrd
    import pymysql
    
    # 打开execl表
    book = xlrd.open_workbook('XXXX测试用例.xlsx')
    sheet = book.sheet_by_name('Sheet1')
    # print(sheet.nrows)
    
    
    # 创建mysql连接
    conn = pymysql.connect(
        host='127.0.0.1',
        user='root',
        password='123456',
        db='demo1',
        port=3306,
        charset='utf8'
    
    )
    
    # 获得游标
    cur = conn.cursor()
    
    # 创建插入语句
    query = 'insert into yongsheng(UseCaseNumber, TestIteam, TestSubItem,' 
            'Testoint, Precondition, ExecutionSteps,' 
            'ExpectedResults, ActualResult, Adopt,' 
            'DesignDate, ConclusionDate, Testers)values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'
    
    # 创建一个for循环迭代读取xls文件每行数据的,
    # 从第二行开始是要跳过标题行
    # 括号里面1表示从第二行开始(计算机是从0开始数)
    for r in range(1, sheet.nrows):
        # (r, 0)表示第二行的0就是表里的A1:A1
        UseCaseNumber = sheet.cell(r, 0).value
        TestIteam = sheet.cell(r, 1).value
        TestSubItem = sheet.cell(r, 2).value
        Testoint = sheet.cell(r, 3).value
        Precondition = sheet.cell(r, 4).value
        ExecutionSteps = sheet.cell(r, 5).value
        ExpectedResults = sheet.cell(r, 6).value
        ActualResult = sheet.cell(r, 7).value
        Adopt = sheet.cell(r, 8).value
        DesignDate = sheet.cell(r, 9).value
        ConclusionDate = sheet.cell(r, 10).value
        Testers = sheet.cell(r, 11).value
        values = (UseCaseNumber, TestIteam, TestSubItem,
                  Testoint, Precondition, ExecutionSteps,
                  ExpectedResults, ActualResult, Adopt,
                  DesignDate, ConclusionDate, Testers)
    
        # 插入数据库
        try:
            # 检查db连接状态
            conn.ping(reconnect=True)
            cur.execute(query, values)
        except Exception as e:
            # 有异常,回滚事务
            conn.rollback()
        finally:
            conn.close()
    
    # 显示导入多少列
    columns = str(sheet.ncols)
    # 显示导入多少行
    rows = str(sheet.nrows)
    print('导入' + columns + '列' + rows + '行数据到MySQL数据库!')
    
  • 相关阅读:
    LayoutInflater
    android 顶部的通知栏
    ..搞Android了
    数据分组取最大值行
    decode、sign、case在统计中的用法:
    Row generator
    存储过程包实例分享
    Bind variables in 'in' condition(在in中动态的绑定参数(参数个数可变))
    WM_CONCAT字符超过4000的处理办法
    oracle script
  • 原文地址:https://www.cnblogs.com/se7enjean/p/12703795.html
Copyright © 2011-2022 走看看