Как я могу вызвать класс и использовать файл (.xlsx) вне этого класса? - PullRequest
0 голосов
/ 24 апреля 2020

Мой код работает нормально. Я сомневаюсь, как я могу вызвать файл .xlsx вне класса и использовать внутри класса. Мне нужно вызвать кучу разных файлов .xlsx и хочу автоматизировать вызов. В части кода я делал это в функциях, но теперь внутри класса я не понимаю, как это сделать.

Это мой принципал, и я хочу вызвать файл .xlsx именно здесь:

import calculus2

filename= 'dadocru_test1.xlsx' #(here I want to call the file)
calculus2.calc_temp_inlet(filename)
calculus2.calc_temp_outlet(filename)
calculus2.calc_vazao(filename)
calculus2.calc_potencia(filename)
calculus2.calc_diff_temp(filename)
calculus2.calc_tempo(filename)
calculus2.extra_calcs(filename)
calculus2.interpol_thermo(filename)
calculus2.pot_util(filename)

но у меня есть этот класс:

class Tentativa():
   def __init__(self, soma, count, col_data, col_new, lin_new):
       self.soma = soma
       self.count = count
       self.col_data = col_data
       self.col_new = col_new
       self.lin_new = lin_new

   def calculo(self):
       import openpyxl as xl

       wb = xl.load_workbook('dadocru_test1.xlsx') #(here I have to call the file again. I don't want this)
       sheet = wb['Sheet1'] #this is object

       soma = int(self.soma)
       count = self.count
       col_data = self.col_data
       col_new = self.col_new
       lin_new = self.lin_new
       for row in range(60, sheet.max_row+1):
           cell1 = sheet.cell(row,col_data)
           actual = cell1.value
           soma += actual
           count += 1
       med1 = soma/count  
       # new_cell1 = sheet.cell(lin_new, col_new) acho q não precisa
       # new_cell1.value = med1 
       return med1

, и вот пример того, как я вызываю файл в функциях:

import openpyxl as xl

def calc_temp_inlet(filename):
    wb = xl.load_workbook(filename) #(here I can access the file with my principal)
    sheet = wb['Sheet1'] #this is object

    sheet.cell(1, 4).value = "Temp_ent"

    for row in range(2, sheet.max_row+1): #+1 to include 4
        cell = sheet.cell(row, 3)
        corrected_price = (cell.value - 100.0820374)/0.3854
        corrected_price_cell = sheet.cell(row, 4)
        corrected_price_cell.value = corrected_price

    wb.save(filename) 

Я не не знаю, как назвать это сомнение. В своей голове я знаю, чего хочу, но я не знаю, как искать это в Google. Если кто-то понял и может мне помочь. Я был бы признателен. Спасибо

...