read fix
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from schema.pydantic import settings, Translit
|
from schema.pydantic import settings, Translit
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
class BaseHandler:
|
class BaseHandler:
|
||||||
|
|
||||||
def __init__(self, file_path:str):
|
def __init__(self, file_path:str):
|
||||||
@@ -15,25 +17,26 @@ class BaseHandler:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise Exception(f"⚠️ Ошибка при получении структуры {self.file_path}: {e}")
|
raise Exception(f"⚠️ Ошибка при получении структуры {self.file_path}: {e}")
|
||||||
|
|
||||||
def read(self):
|
def read(self, xls, sheet_name):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return pd.read_excel(self.file_path)
|
return pd.read_excel(xls, sheet_name)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise Exception(f"⚠️ Ошибка при чтении файла {self.file_path}: {e}")
|
raise Exception(f"⚠️ Ошибка при чтении файла {self.file_path}: {e}")
|
||||||
|
|
||||||
|
|
||||||
class Handler(BaseHandler):
|
class Handler(BaseHandler):
|
||||||
|
|
||||||
def __init__(self,file_path:str, columns:dict, sheet_name:str):
|
def __init__(self,file_path:str, columns:dict, sheet_name:str):
|
||||||
|
|
||||||
super().__init__(file_path)
|
super().__init__(file_path)
|
||||||
|
|
||||||
self.xls = self.struct()
|
xls = self.struct()
|
||||||
|
|
||||||
if sheet_name not in self.xls.sheet_names:
|
if sheet_name not in xls.sheet_names:
|
||||||
raise Exception(f'⚠️ Лист {sheet_name} не найден')
|
raise Exception(f'⚠️ Лист {sheet_name} не найден')
|
||||||
|
|
||||||
self.df = pd.read_excel(self.xls, sheet_name=sheet_name)
|
self.df = self.read(xls, sheet_name=sheet_name)
|
||||||
self.df = self.df.iloc[:, list(columns.values())]
|
self.df = self.df.iloc[:, list(columns.values())]
|
||||||
self.df.columns = list(columns.keys())
|
self.df.columns = list(columns.keys())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user