import pandas as pd class Processor: def __init__(self): self.df = None self.total_impressions = 0 self.actual_impressions_percentage = 0 self.target_impressions_percentage = 0 self.distance_travelled = 0 self.target_travelled = 0 self.actual_travelled = 0 self.total_on_road = 0 self.high_traffic_percentage = 0 self.normal_traffic_percentage = 0 def load_data(self, file): self.df = pd.read_excel(file) impression_column = self.df.iloc[:, 4] self.total_impressions = impression_column[impression_column.shift(-1).isna()].iloc[0] c_column = self.df.iloc[:, 2] c_column_empty_cells = c_column[c_column.isna()].index self.actual_impressions_percentage = c_column[c_column_empty_cells[1]-1] self.target_impressions_percentage = c_column[c_column_empty_cells[1]-2] b_column = self.df.iloc[:, 1] b_column_empty_cells = b_column[b_column.isna()].index self.distance_travelled = b_column[b_column_empty_cells[3]-1] self.target_travelled = b_column[b_column_empty_cells[3]-2] self.actual_travelled = self.distance_travelled self.total_on_road = c_column[c_column_empty_cells[0]-1] def process(self): pass