import pandas as pd
from pandas import DataFrame
from loguru import logger
[docs]class DataProcess:
"""
Classe responsável para o processamento de dados
"""
def __init__(self, data: str) -> None:
self.data = data
self.__name_sheets = []
self.sheet_selected = None
self.__file_extension = self.data.split('.')[-1]
if self.__file_extension == 'xls' or self.__file_extension == 'xlsx':
self.__load_excel()
elif self.__file_extension == 'csv':
self.__load_csv()
else:
raise ValueError("Unsupported file format")
def __load_excel(self):
self.data = pd.ExcelFile(self.data)
self.__name_sheets = self.data.sheet_names
def __load_csv(self):
self.__name_sheets = ['Sheet1']
[docs] def sheets(self) -> list:
"""
Retorna uma lista com os nomes de todas as abas da planilha.
Exemplo de uso:
CASO QUEIRA PASSAR UM EXCEL
df_excel = 'caminho_do_excel.xlsx'
processamento = DataProcess(data=df_excel)
lista_de_abas_da_planilha = processamento.sheets()
CASO QUEIRA PASSAR UM CSV
df_csv = 'caminho_do_csv.csv'
processamento_csv = DataProcess(data=df_csv)
lista_de_abas_do_csv = processamento.sheets()
"""
return self.__name_sheets
[docs] def sheet_select(self, sheet: str) -> pd.DataFrame:
"""
Retorna a aba selecionada da planilha em formato de DataFrame.
Parâmetros:
sheet: str
Descrição dos parâmetros:
sheet -> Argumento onde o usuário vai passar o nome da aba que ele deseja trabalhar
Exemplo de uso:
df = 'seu_excel.xlsx'
processamento = DataProcess(data=df)
aba_selecionada = processamento.sheet_select(sheet='nome_da_aba')
"""
if self.__file_extension == 'xls' or self.__file_extension == 'xlsx':
self.sheet_selected = pd.read_excel(self.data, sheet_name=sheet)
elif self.__file_extension == 'csv':
df = pd.read_csv(self.data, sep=";")
return df
else:
raise ValueError("Unsupported file format")
return self.sheet_selected