功能如下:
1、将某一列数据复制到前一列进行保存;
2、打印新数据与原数据大于一定阈值的数据指标;
3、打印未更新指标。
功能:将后面的数据复制到前一列,如10复制到100处;并根据指标名称更新10那列;打印更新数据与之前数据值之差大于一定阈值的指标;并打印表格中未更新指标。
原始表格:
更新后表格:
警报指标:
未更新指标:
代码如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#autho:bdf
import xlrd
import openpyxl
import csv
#csv的读取
with open('result.csv',newline='',encoding='utf-8') as f:
reader = csv.reader(f)
result=[]
for row in reader:
if len(row):
v=row[0].split('\t')
if(len(v)==3):
v.pop(1)
v[0]=v[0].rstrip()
v[0]=v[0].rstrip(':')
v[0]=v[0].replace('_pass_','_')
result.append(v)
result=dict(result)
#print(result)
#读取并修改xlsx
workbook=xlrd.open_workbook("results.xlsx")
worksheet = workbook.sheet_by_index(0)
nrows = worksheet.nrows #获取该表总行数
print(nrows)
ncols = worksheet.ncols #获取该表总列数
print(ncols)
writer = openpyxl.load_workbook("results.xlsx")
cnt=writer.worksheets[0]
for i in range(nrows): #循环每一行
if i < 3:
continue
val = worksheet.cell_value(i,6)
cnt.cell(i+1,5,val)
val_key = worksheet.cell_value(i,3)
if val_key not in result:
print("该指标不存在:")
print(val_key)
print("**********")
if val_key in result:
# print(val_key)
vall = float(result[val_key])
vall *= 100
cnt.cell(i+1,7,vall)
if abs(float(val)-vall)>10 #阈值设置
print("未通过数据!!!!!")
print("指标:%s,Previous:%s,Now:%d"%(val_key,val,vall))
print("**********")
writer.save(filename="results.xlsx")