码迷,mamicode.com
首页 > 数据库 > 详细

通过读取excel数据和mysql数据库数据做对比(二)-代码编写测试

时间:2015-09-16 19:59:02      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

通过上一步,环境已搭建好了。

下面开始实战,

首先,编写链接mysql的函数conn_sql.py

import pymysql

def sql_conn(u,pwd,h,db):
    conn=pymysql.connect(user=u,passwd=pwd,host=h,db=db)
    #print("连接数据库"+db+"成功了!!")
    return conn

 在编写,查询数据库的语句:sql.py

import pymysql
import conn_sql

def dd_cz(dd_h):
    conn=conn_sql.sql_conn("数据库连接名称","数据库密码","数据库ip","数据库名称")
    cursor=conn.cursor()
    cursor.execute("select count(id) from user where ordnum=%s",dd_h)
    data=cursor.fetchone()
    #print(‘data=‘,data)
    return data

 注意点:(在测试时,有一个问题就是,在cursor.execute("select count(id) from user where ordnum=%s" % dd_h) 这句话中的参数引导时,如果换成%号,会出现数据库报错。所以一定要用,)

在创建zx_duibi.py

import xlrd,sys
import xdrlib
import os
from sql import dd_cz 

#打开Excel文件读取数据
def open_excel(file="1.xls"):
    try:
        data=xlrd.open_workbook(file)
        print("open sucess!")
        return data
    except Exception:
        print(str(e))

#根据索引获取Excel表格中的数据
#参数:file:Excel文件路径     colnameindex:表头列名所在行的索引
#by_index:表的索引

def excel_table_byindex(file="1.xls",colnameindex=0,by_index=0):
    #打开表
    data=open_excel(file)
    #获取工作表
    table=data.sheets()[by_index]
    nrows=table.nrows #行数
    #获取某一行数据
    colnames=table.row_values(colnameindex)
    list=[]
    #3跳转行数
    for rownum in range(1,nrows):
        #获取某一行的值
        row=table.row_values(rownum)
        if row:
            col_l={}           
            col_l[colnames[3]]=row[3]
            list.append(col_l)
    return list

def main():
    tables=excel_table_byindex()
    #excel总数
    i=0
    #不存在的
    j=0
    for row in tables:   
        #根据exl表中的数据,查询数据库中的数据
        ddh=dd_cz(row["列标题"])
        #列标题是否存在
        ddh_cz=ddh[0]

        if ddh_cz == 0:
            print("列标题:%s,不存在"%(row["列标题"]))
            j+=1
        else:
            print("存在:%s"%(row["列标题"]))        
        i+=1
    print("总数为:%s" % i )
    print("不存在为:%s"%j)

if __name__=="__main__":
    main()
            

 至此根据excel的数据和数据中的数据做对比的程序就ok了

 

 

 

参考文档:

               mysql操作为:好人

               excel操作为:好人

 

通过读取excel数据和mysql数据库数据做对比(二)-代码编写测试

标签:

原文地址:http://www.cnblogs.com/kllay/p/4814183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!