Skip to content

Commit 325ae00

Browse files
committed
add utils
1 parent dbf714a commit 325ae00

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

utils/db_utils.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import pandas as pd
2+
from sqlalchemy.engine import Engine
3+
4+
def execute_query(engine: Engine, query: str, params: dict = None) -> pd.DataFrame:
5+
"""
6+
Executa uma consulta SQL e retorna os resultados como DataFrame.
7+
:param engine: Objeto de conexão do SQLAlchemy
8+
:param query: Consulta SQL
9+
:param params: Parâmetros opcionais para a consulta
10+
:return: DataFrame com os resultados
11+
"""
12+
with engine.connect() as conn:
13+
return pd.read_sql_query(query, conn, params=params)

utils/file_utils.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import os
2+
3+
def load_query(query_name: str) -> str:
4+
"""
5+
Carrega o conteúdo de um arquivo SQL da pasta de queries.
6+
:param query_name: Nome do arquivo SQL sem a extensão
7+
:return: Conteúdo da query como string
8+
"""
9+
base_dir = os.path.dirname(os.path.abspath(__file__))
10+
queries_dir = os.path.join(base_dir, '../queries')
11+
query_path = os.path.join(queries_dir, f'{query_name}.sql')
12+
13+
if not os.path.exists(query_path):
14+
raise FileNotFoundError(f'Query "{query_name}.sql" não encontrada!')
15+
16+
with open(query_path, 'r', encoding='utf-8') as file:
17+
return file.read()

0 commit comments

Comments
 (0)