Advertisement
Savelyev_Vyacheslav

RdParaEx

Mar 13th, 2022
944
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.82 KB | None | 0 0
  1. import openpyxl
  2. import time
  3. import numpy as np
  4. Book = openpyxl.Workbook()
  5. sheetBook = Book.active
  6. bookRoster = openpyxl.open('inAll.xlsx')
  7. sheetRoster = bookRoster.active
  8.  
  9. def ConsTop():
  10.     print("Реультат будет записан в фаил in.xlsx")
  11.     print("IN set value - Acetylene C2H2 / Methane CH4 / Ethylene C2H4: ")
  12.     print("OUT defect type - Разр низк энерг(D1) / Разр высок энерг(D2) / Tепл поврежд и разр (DT)")
  13.     print("Тепл поврежд (Т1)<300 / Тепл поврежд (Т2)>300 / Тепл поврежд (Т3)>700 / Частич разр (PD)")
  14. ConsTop()
  15.  
  16. numBase = int(sheetRoster[4][8].value+1)
  17. print(numBase)
  18.  
  19. ############
  20.  
  21.  
  22. def GasPara(C2H2,C2H4,CH4,H2,C2H6):
  23.     a=0.00001
  24.     x = C2H2 / (C2H4+a)
  25.     y = CH4 / (H2+a)
  26.     z = C2H4 / (C2H6+a)
  27.     print(x,y,z)
  28.     NS = ["x < 0.1","y > 0.1 and y < 1", "z <= 1"] # Нормальное старение
  29.     PDn = ["x < 0.1","y < 0.1", "z <= 1"]   # Частичный разряд н изк плотность(PDn)  
  30.     PDv = ["x > 0.1 and x < 3","y < 0.1", "z <= 1"]   # Частичный разряд высок плотность (PDv)  
  31.     D1 = ["x > 0.1","y > 0.1 and y < 1", "z > 1 and z < 3"] # Разряды низкой энергии (D1)
  32.     D2 = ["x > 0.1 and x < 3","y > 0.1 and y < 1", "z >= 3"]  # Разряды высокой энергии (D2) составной
  33.     T0 = ["x < 0.1","y > 0.1 and y < 1", "z > 1 and z < 3"] # Тепловое повреждение (Т0) < 150
  34.     T1 = ["x < 0.1","y >= 0.1", "z < 1"]  # Тепловое повреждение (Т1) возникает в масле и (или) в бумаге при температуре ниже 300 °С
  35.     T2 = ["x < 0.1","y >= 1", "z > 1 and z < 3"]  # Тепловое повреждение (Т2) возникает в масле и (или) в бумаге при температуре выше 300 °C и ниже 700 °C
  36.     T3 = ["x < 0.1","y >= 1", "z >= 3"]  # Тепловое повреждение (Т3) возникает в масле и (или) в бумаге при температуре выше 700 °C с явными признаками карбонизации масла, окрашивания металла (при 800 °C) или плавления металла (при температуре ниже 1000 °C).
  37.    
  38.     setBorder = [NS, PDn, PDv, D1, D2, T0, T1, T2, T3]
  39.     setName = ['NS', 'PDn', 'PDv', 'D1', 'D2', 'T0', 'T1', 'T2', 'T3']
  40.    
  41.     setBorder
  42.     out = []
  43.     for item in setBorder:
  44.         if eval(item[0]) and eval(item[1]) and eval(item[2]):
  45.             out.append(setName[setBorder.index(item)])
  46.             #out.append([x,y,z])
  47.             #print(setName[setBorder.index(item)])
  48.     if len(out)==0:
  49.         return "None"
  50.     return out
  51.  
  52.    
  53.  
  54.  
  55.  
  56.  
  57. ###############
  58.  
  59. # чтение  
  60. def GetExell(numBase):
  61.     ArExell = []
  62.     for row in range(5,numBase):
  63.         try:
  64.             H2 = float(sheetRoster[row][0].value) #
  65.             CH4 = float(sheetRoster[row][1].value) #
  66.             C2H2 = float(sheetRoster[row][2].value) #
  67.             C2H4 = float(sheetRoster[row][3].value) #
  68.             C2H6 = float(sheetRoster[row][4].value) #
  69.             CO = float(sheetRoster[row][5].value) #
  70.             CO2 = float(sheetRoster[row][6].value) #
  71.         except:
  72.             print("Something went wrong")
  73.             ArExell.append("None2")
  74.             continue
  75.         print(GasPara(C2H2,C2H4,CH4,H2,C2H6))
  76.         ArExell.append(GasPara(C2H2,C2H4,CH4,H2,C2H6))
  77.     return ArExell
  78.  
  79. # Записьы
  80. i=1
  81. for item in GetExell(numBase):
  82.     sheetRoster.cell(i+4,10).value = str(item[0])
  83.     print(item)
  84.     i+=1
  85.  
  86.  
  87.  
  88. bookRoster.save("OUT_RDparaExel.xlsx")
  89. print("ГОТОВО")
  90.  
  91. Book.close()
  92.  
  93. bookRoster.close()
  94. time.sleep(15)
  95.  
  96.  
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement