用例1:
全省OLT脱管与地市数量校验
统计出来导入文件中的各网元名称个数,验证是否与生产的文件中的全省olt脱管个数一致
执行:
将地市与网元名称列放入aaa.csv文件中
执行如下程序
import csv
f=open("aaa.csv","r")
table=csv.reader(f)
list1=[]
for rows in table:
print(rows[1])
list1.append(rows[1])
#去重
list2=set(list1)
print(list2)
a=len(list2)-1
print("网元名称个数:",a)
用例2
统计出来导入文件中的各地市网元名称个数,验证验证是否与生产的文件中的各地市olt脱管个数一致
执行如下程序
import csv
from numpy import sort
f=open("aaa.csv","r")
table=csv.reader(f)
list1=[]
for rows in table:
#各地市
if rows[0]=='淄博':
print(rows[1])
list1.append(rows[1])
list2=set(list1)
print(list2)
a=len(list2)
print(a)
用例3:
统计出来各olt下pon的个数大于等于5,且发生时间的最大时间与最小时间相差10分钟以内的网元名称是否统计正确
执行:
将网元名称,告警对象名称与发生时间列放入aaa2.csv文件中
执行如下程序
import csv
from datetime import time
import math
import datetime
f=open("aaa2.csv","r")
table=csv.reader(f)
list1=[]
list2=[]
for rows in table:
# print(rows[0])
list1.append(rows[0])
#print(list1)
# 各网元名称下的告警对象名称个数转完为数据字典统计出来
dict={}
for i in list1:
dict[i] = dict.get(i, 0) + 1
#print([key for key in dict.keys()])
#print([value for value in dict.values()])
print(dict)
finallist=[]
for (key,value) in dict.items():
#若网元名称下的告警对象个数大于5,告警对象对应的发生时间进入list_a
if value>=5:
#print(key, value)
f=open("aaa2.csv","r")
table2=csv.reader(f)
list_a = []
for rows2 in table2:
if rows2[0]==key:
# print(key)
list_a.append(rows2[2])
print(list_a)
#将网元名称下的告警对象个数大于5,告警对象对应的发生时间转换为秒,分别进入list_reserve
list_reserve = []
for i in range(0,len(list_a)):
h1, m1, s1 = list_a[i].strip().split(':')
timemiao = (int(h1) * 3600 + int(m1) * 60 + int(s1))
# print(timemiao)
list_reserve.append(timemiao)
#print("转换后时间",list_reserve)
#求出list_reserve中的最大时间与最小时间
mintimemiao=min(list_reserve)
# print("min",mintimemiao)
maxtimemiao=max(list_reserve)
# print("max",maxtimemiao)
#分别输出各网元中所有告警对象在符合最大时间与最小时间的间隔在600秒(10分钟)内的 list_a 中的值
if maxtimemiao-mintimemiao<600:
print("在10分钟以内的",list_a)
#队列的嵌套,输出符合此用例统计的个数
finallist.append(list_a)
print("个数为",len(finallist))