Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import openpyxl
- import time
- Book = openpyxl.Workbook()
- sheetBook = Book.active
- bookRoster = openpyxl.open('in.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[1][3].value+1)
- print(numBase)
- def CATsection(TryAngl, x1,x2, y1,y2, z1,z2): # вырезает куски графика где x1 начало х2 конец
- leg=[]
- if (TryAngl[0] >= x1 and TryAngl[0] <= x2) and (TryAngl[1] >= y1 and TryAngl[1] <= y2) and (TryAngl[2] >= z1 and TryAngl[2] <= z2):
- return True
- return False
- def Find( ArAll, AllName):
- j=0
- for i in ArAll:
- if i:
- return AllName[j]
- j+=1
- def out(C2H2,CH4,C2H4):
- while True:
- pp = 100/(C2H2+CH4+C2H4)
- C2H2 = round(C2H2*pp, 1)
- CH4 = round(CH4*pp, 1)
- C2H4 = round(C2H4*pp, 1)
- TryAngl = [C2H2,CH4,C2H4]
- D1 = CATsection(TryAngl, 14,100, 0,100, 0,23) # Разряды низкой энергии (D1)
- PD = CATsection(TryAngl, 0,100, 98,100, 0,100) # Частичный разряд (PD)
- T1 = CATsection(TryAngl, 0, 4, 0, 98, 0, 20) # Тепловое повреждение (Т1) возникает в масле и (или) в бумаге при температуре ниже 300 °С
- T2 = CATsection(TryAngl, 0, 4, 0, 100, 20, 50) # Тепловое повреждение (Т2) возникает в масле и (или) в бумаге при температуре выше 300 °C и ниже 700 °C
- T3 = CATsection(TryAngl, 0, 15, 0, 100, 50, 100) # Тепловое повреждение (Т3) возникает в масле и (или) в бумаге при температуре выше 700 °C с явными признаками карбонизации масла, окрашивания металла (при 800 °C) или плавления металла (при температуре ниже 1000 °C).
- D2_1 = CATsection(TryAngl, 15, 100, 0, 100, 23, 40) # Разряды высокой энергии (D2) составной
- D2_2 = CATsection(TryAngl, 29, 100, 0, 100, 40, 100) # Разряды высокой энергии (D2) составной
- DT_1 = CATsection(TryAngl, 14,29, 0,100, 50,100) # Сочетание тепловых повреждений и разрядов (DT) составной
- DT_2 = CATsection(TryAngl, 4,29, 0,100, 40,50) # Сочетание тепловых повреждений и разрядов (DT) составной
- DT_3 = CATsection(TryAngl, 4,14, 0,100, 0,40) # Сочетание тепловых повреждений и разрядов (DT) составной
- ArAll = [D1, PD, T1, T2, T3, D2_1, D2_2, DT_1, DT_2, DT_3]
- AllName = ['D1', 'PD', 'T1', 'T2', 'T3', 'D2', 'D2', 'DT', 'DT', 'DT']
- return Find(ArAll,AllName)
- #out()
- def GetExell(numBase):
- ArExell = []
- for row in range(1,numBase):
- try:
- C2H2 = int(sheetRoster[row][0].value) # Acetylene C2H2
- CH4 = int(sheetRoster[row][1].value) # Methane CH4
- C2H4 = int(sheetRoster[row][2].value) # Ethylene C2H4
- 100/(C2H2+CH4+C2H4)
- except:
- print("Something went wrong")
- ArExell.append("None")
- continue
- ArExell.append(out(C2H2,CH4,C2H4))
- return ArExell
- i=1
- for item in GetExell(numBase):
- sheetRoster.cell(i,5).value = str(item)
- print(item)
- i+=1
- bookRoster.save("in.xlsx")
- print("ГОТОВО")
- Book.close()
- bookRoster.close()
- time.sleep(15)
Add Comment
Please, Sign In to add comment