Código-fonte para llm4time.core.data.loader

"""
Módulo para carregamento de dados de séries temporais.

Este módulo fornece funcionalidades para carregar e processar dados de séries
temporais.
"""

import os
import pandas as pd
from llm4time.core.logging import logger


[documentos] def load_data(path: str) -> pd.DataFrame | None: """ Carrega dados de séries temporais a partir de um arquivo. Esta função identifica a extensão do arquivo e utiliza a função de leitura apropriada do pandas. Formatos suportados: CSV, XLSX, JSON, Parquet. Args: path (str): Caminho para o arquivo a ser carregado. Returns: pd.DataFrame | None: DataFrame contendo os dados carregados ou None em caso de erro. Examples: >>> df = load_data("etth2.csv") """ try: _, ext = os.path.splitext(path) ext = ext.lower() if ext in [".csv", ".txt"]: df = pd.read_csv(path) elif ext in [".xlsx", ".xls"]: df = pd.read_excel(path) elif ext == ".json": df = pd.read_json(path) elif ext == ".parquet": df = pd.read_parquet(path) else: logger.error(f"Extensão de arquivo não suportada: {ext}") return None return df except FileNotFoundError as e: logger.error(f"Arquivo não encontrado: {e}") return None except pd.errors.EmptyDataError as e: logger.error(f"Arquivo vazio: {e}") return None except Exception as e: logger.error(f"Ocorreu um erro inesperado: {e}") return None