#!/usr/bin/python3
# -*- coding: utf-8 -*-
'''
此腳本用於zabbix監控所有硬件設備的維保到期時間
'''
import xlrd,datetime,time,os
from xlrd import xldate_as_tuple
import json
class Maintence:
def __init__(self):
self.file = '/Users/fanht/Desktop/機房設備20190726.xlsx'
self.today = time.time()
@property
def read_excel(self):
wb = xlrd.open_workbook(filename=self.file) # 打開文件
sheet1 = wb.sheet_by_index(0) # 通過索引獲取表格,表格對象
row_message = {}
for row in range(1,sheet1.nrows):
line = sheet1.row_values(row) # 每一行的內容
serial_number = line[4] # 設備序列號
if sheet1.cell(row, 9).ctype == 3:
date = xldate_as_tuple(sheet1.cell(row,9).value,0)
maintenance_time = datetime.datetime(*date) # 維保到期時間<class 'datetime.datetime'>
ans_time = time.mktime(maintenance_time.timetuple()) # 維保到期時間時間戳
row_message[serial_number] = ans_time
return row_message
@property
def time_diff(self):
time_dic = {}
for key,value in self.read_excel.items():
time_poor = int((value - self.today)/86400)# 維保時間截止今天的天數差
time_dic[key] = time_poor
return time_dic
if __name__ == '__main__':
maintence = Maintence()
a = []
for key in maintence.time_diff.keys():
b= {}
b["{#SERIAL}"] = key
a.append(b)
print(json.dumps(a,sort_keys=True, indent=6))
python3監控硬件設備的維保到期時間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.