python 比对数据_python 数据对比测试

该博客使用Python的pymysql和xlrd库从Excel文件读取数据,并连接到数据库执行SQL查询。通过比对查询结果,将差异写回Excel,实现数据的对比测试。当查询结果相同时标记为'相同',否则计算误差比例并标记为'不相同,误差为:XX%'。
摘要由CSDN通过智能技术生成

# coding=utf-8

import pymysql

import xlrd

from xlutils.copyimport copy

class testclass(object):

def __init__(self):

db = pymysql.connect(host="ip", user="user", password="password", db="db", port=3306)

db_dqz = pymysql.connect(host="ip", user="user", password="password", db="db", port=3306)

# 使用cursor()方法获取操作游标

cur = db.cursor()

cur_dqz = db_dqz.cursor()

try:

# 打开表格

workbook = xlrd.open_workbook('courtguide.xlsx')

# 定位sheet

table1 = workbook.sheet_by_index(0)

# 获取总行数

nrowsnum =int(table1.nrows)

newexcel = copy(workbook)

table2 = newexcel.get_sheet(0)

for iin range(nrowsnum -1):

sql_x = table1.cell_value(i +1, 2)

sql_y = table1.cell_value(i +1, 4)

#print(sql_x)

# 执行sql语句

cur.execute(sql_x)

cur_dqz.execute(sql_y)

results=cur.fetchone()

results_dqz = cur_dqz.fetchone()

#print(results[0],results_dqz[0])

#print(type(results), type(results_dqz))

table2.write(i +1, 3, '%s' %results)

table2.write(i +1, 5, '%s' %results_dqz)

if results[0] == results_dqz[0]:

table2.write(i+1, 6, '相同')

else:

res = results[0] -results_dqz[0]

proportion=res/results[0]

res1=(results[0] -results_dqz[0])/results[0]

print(res,proportion)

#table2.write(i + 1, 6, '不相同=')

table2.write(i+1, 6, '不相同,误差为:%s'%proportion)

except  Exception  as e:

print(e)

print("请求过程中发生异常")

newexcel.save('newCourtGuide.xls')

print("执行完成")

# 关闭数据库连接

db.close()

# 关闭数据库连接

db_dqz.close()

#创建类对象,自动执行类中初始化方法

t = testclass()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值