Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import openpyxl
- import time
- import numpy as np
- Book = openpyxl.Workbook()
- sheetBook = Book.active
- bookRoster = openpyxl.open('inAll.xlsx')
- sheetRoster = bookRoster.active
- def ConsTop():
- print("Реультат будет записан в фаил in.xlsx")
- print("IN set value - Acetylene C2H2 / Methane CH4 / Ethylene C2H4: ")
- print("OUT defect type - Разр низк энерг(D1) / Разр высок энерг(D2) / Tепл поврежд и разр (DT)")
- print("Тепл поврежд (Т1)<300 / Тепл поврежд (Т2)>300 / Тепл поврежд (Т3)>700 / Частич разр (PD)")
- ConsTop()
- numBase = int(sheetRoster[4][8].value+1)
- print(numBase)
- ############
- pIn = []
- def setIn(H2,text):
- try:
- H2.append(float(input(text)))
- except:
- print("Ошибка ввода")
- vvod()
- def vvod():
- print('I Тип среды')
- print(" 1 - Tрансформатор с азотной или пленочной защитой масла")
- print(" 0 - Tрансформатор со свободным дыханием")
- setIn(pIn,' Введите >> ')
- print('II Время в эксплуатации')
- print(" 1 - Эксплуатация до 10 лет")
- print(" 0 - Эксплуатация более 10 лет")
- setIn(pIn,' Введите >> ')
- vvod()
- def PpmToPr(GasPPM):
- GasPr = np.divide(GasPPM, 1000000/100)
- return GasPr
- def Inborder(GasPPM,conRr,conName):
- out = []
- GasPr = PpmToPr(GasPPM)
- for i in range(len(GasPr)):
- if GasPr[i] >= conRr[i]:
- out.append(conName[i])
- print(out)
- if len(out)==0:
- return 0
- else:
- return 1
- def GasBord(GasPPM,conName, pIn):
- conRr110_500_do10Let = [0.01,0.01,0.001,0.01,0.005,0.05,0.2] # значение для трансформаторов с азотной или пленочной защитами масла
- conRr110_500_do10LetD = [0.01,0.01,0.001,0.01,0.005,0.06,0.6] # для трансформаторов со свободным дыханием
- conRr110_500_Posle10Let = [0.01,0.01,0.001,0.01,0.005,0.05,0.4] # значение для трансформаторов с азотной или пленочной защитами масла
- conRr110_500_Posle10LetD = [0.01,0.01,0.001,0.01,0.005,0.06,0.8] # для трансформаторов со свободным дыханием
- conRr750 = [0.01,0.002,0.001,0.002,0.001,0.05,0.4] #
- conRr750Rctr = [0.01,0.003,0.001,0.001,0.002,0.05,0.4]
- conRr = []
- if pIn == [1,1]:
- conRr = conRr110_500_do10Let
- elif pIn == [0,1]:
- conRr = conRr110_500_do10LetD
- elif pIn == [1,0]:
- conRr = conRr110_500_Posle10Let
- elif pIn == [0,0]:
- conRr = conRr110_500_Posle10LetD
- else:
- print("Ошибка ввода 1 или 2")
- vvod()
- GasBord(GasPPM,conName, pIn)
- return Inborder(GasPPM, conRr, conName)
- ###############
- # чтение
- def GetExell(numBase):
- ArExell = []
- for row in range(5,numBase):
- try:
- H2 = int(sheetRoster[row][0].value) #
- CH4 = int(sheetRoster[row][1].value) #
- C2H2 = int(sheetRoster[row][2].value) #
- C2H4 = int(sheetRoster[row][3].value) #
- C2H6 = int(sheetRoster[row][4].value) #
- CO = int(sheetRoster[row][5].value) #
- CO2 = int(sheetRoster[row][6].value) #
- except:
- print("Something went wrong")
- ArExell.append("None")
- continue
- GasPPM = [H2, CH4, C2H2, C2H4, C2H6, CO, CO2]
- conName = [ 'H2','CH4', 'C2H2', 'C2H4','C2H6', 'CO','CO2']
- ArExell.append(GasBord(GasPPM,conName, pIn))
- return ArExell
- # Записьы
- i=1
- for item in GetExell(numBase):
- sheetRoster.cell(i+4,10).value = int(item)
- print(item)
- i+=1
- bookRoster.save("OUT_RDmaxExel.xlsx")
- print("ГОТОВО")
- Book.close()
- bookRoster.close()
- time.sleep(15)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement