Мой код работает нормально. Я сомневаюсь, как я могу вызвать файл .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. Если кто-то понял и может мне помочь. Я был бы признателен. Спасибо