Esta API é um algoritmo de conversão de dados de uma planilha para um banco de dados relacional ou não relacional. O algoritmo funciona lendo arquivos no formato .xlsx (apenas .xlsx), transformando-os em um dataframe e, posteriormente, em um array de objetos.
A API serve como uma "Estação de Tratamento", onde o cliente insere uma planilha e a envia para essa API. A API se encarrega de processar e enviar os dados de forma correta para uma API server-side. O objetivo é oferecer uma opção leve e de baixa latência para o processamento de dados relacionados a planilhas.
Atenção: O algoritmo utiliza threads e o conceito de batch requests com payloads para otimizar o tempo de processamento, especialmente em cenários com alto volume de dados. É importante que a API que recebe esses dados (via POST, por exemplo) tenha uma lógica preparada para lidar com a inserção de payloads. Dica: Bulk inserts e paralelismo são bastante úteis nesse contexto.
-
Crie uma virtual environment (venv) e baixe as dependências do projeto.
OBS: Verifique se o Python instalado em sua máquina é igual ou superior à versão 3.12.- Criação da venv:
python -m venv <nome_da_venv>
- Ativação:
- MacOS/Linux:
source <nome_da_venv>/bin/activate
- Windows:
<nome_da_venv>\scripts\activate
- MacOS/Linux:
- Instalação das dependências:
pip install -r requirements.txt
- Criação da venv:
Para inicializar a aplicação Flask, execute o seguinte comando:
flask runA api consta com uma única rota via POST:
<api-domain>/formatThis API is an algorithm for converting data from a spreadsheet into a relational or non-relational database. The algorithm works by reading .xlsx files (only .xlsx), transforming them into a dataframe, and then into an array of objects.
The API serves as a "Treatment Station," where the client uploads a spreadsheet and sends it to this API, which is responsible for processing and correctly sending the data to a server-side API. The goal is to provide a lightweight, low-latency option for processing spreadsheet-related data.
Attention: The algorithm uses threads and the concept of batch requests with payloads to optimize processing time, especially in scenarios with high data volumes. It is important that the receiving API (via POST, for example) has logic in place to handle payload inserts. Tip: Bulk inserts and parallelism are very useful in this context.
-
Create a virtual environment (venv) and install the project dependencies.
Note: Ensure that the Python version installed on your machine is 3.12 or higher.- Create the venv:
python -m venv <venv_name>
- Activate the venv:
- MacOS/Linux:
source <venv_name>/bin/activate
- Windows:
<venv_name>\scripts\activate
- MacOS/Linux:
- Install the dependencies:
pip install -r requirements.txt
- Create the venv:
To start the Flask application, run the following command:
flask runThe api has a single route via POST:
<api-domain>/format