https://github.com/hedriss10/spreed-sheets
"SpreedSheets File Processor with zip"
https://github.com/hedriss10/spreed-sheets
flask javascript jinja2 python
Last synced: 3 months ago
JSON representation
"SpreedSheets File Processor with zip"
- Host: GitHub
- URL: https://github.com/hedriss10/spreed-sheets
- Owner: Hedriss10
- Created: 2024-11-29T19:41:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-06T14:34:16.000Z (over 1 year ago)
- Last Synced: 2025-10-08T06:54:50.951Z (9 months ago)
- Topics: flask, javascript, jinja2, python
- Language: Python
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# File Processor with Chunking and ZIP Export
Este projeto é uma aplicação Flask que permite fazer o upload de arquivos CSV ou XLSX, processá-los em chunks (partes menores) e gerar um arquivo ZIP contendo esses chunks. O projeto também oferece a opção de remover dados nulos (NA) durante o processamento.
## Funcionalidades
- **Upload de Arquivo**: Permite o upload de arquivos CSV ou XLSX.
- **Divisão em Chunks**: Divide o arquivo em partes menores (chunks) com base no tamanho definido pelo usuário.
- **Remover Dados Nulos**: Permite remover linhas com valores faltantes (NA).
- **Exportação em ZIP**: Gera um arquivo ZIP contendo todos os chunks em formato CSV.
- **Interface de Usuário**: Interface simples em HTML para interação com o usuário.
## Tecnologias Usadas
- **Flask**: Framework web para criar a aplicação.
- **Pandas**: Para manipulação e processamento de dados.
- **NumPy**: Para dividir os dados em chunks.
- **Openpyxl**: Para ler arquivos XLSX.
- **Chardet**: Para detectar a codificação do arquivo.
- **Zipfile**: Para compactar os arquivos em formato ZIP.
- **Rich**: Para exibir logs de forma mais legível no console.
## Instalação
1. Clone o repositório:
```bash
git clone https://github.com/hedriss10/spreed-sheets.git
cd seu_repositorio
```
2. Crie um ambiente virtual (opcional, mas recomendado):
```bash
python -m venv venv
```
3. Ative o ambiente virtual:
- No Windows:
```bash
venv\Scripts\activate
```
- No Linux/macOS:
```bash
source venv/bin/activate
```
4. Instale as dependências:
```bash
pip install -r requirements.txt
```
5. Para rodar a aplicação:
```bash
python app.py
```
6. Acesse a aplicação em [http://127.0.0.1:5000](http://127.0.0.1:5000) no seu navegador.
## Como Usar
1. Na página inicial, faça o upload de um arquivo CSV ou XLSX.
2. Defina o tamanho do chunk (quantas linhas cada parte do arquivo terá).
3. Marque a opção para remover dados nulos, se desejar.
4. Clique em "Enviar" para processar o arquivo.
5. O arquivo será processado e um arquivo ZIP contendo os chunks será gerado e oferecido para download.
## Estrutura de Diretórios
```bash
/
├── app.py # Arquivo principal da aplicação
├── output_files/ # Diretório onde os arquivos processados são armazenados
├── requirements.txt # Arquivo com as dependências do projeto
├── templates/ # Diretórios dos templates HTML
│ └── index.html # Página principal
└── static/ # Arquivos estáticos (CSS, JS, imagens)
```
## Dependências
As principais bibliotecas utilizadas são:
- `Flask`: Framework web para Python.
- `Pandas`: Biblioteca para análise de dados.
- `NumPy`: Biblioteca para operações numéricas.
- `Openpyxl`: Leitura de arquivos XLSX.
- `Chardet`: Detecção automática de codificação de arquivos.
- `Zipfile`: Para compressão de arquivos.
- `Rich`: Para logs bonitos no console.
## Contribuições
Contribuições são bem-vindas! Se você encontrou um erro ou deseja adicionar uma nova funcionalidade, sinta-se à vontade para criar uma *issue* ou enviar um *pull request*.
1. Faça um fork deste repositório.
2. Crie uma branch para sua nova funcionalidade (`git checkout -b minha-nova-funcionalidade`).
3. Faça as modificações necessárias e commit (`git commit -am 'Adiciona nova funcionalidade'`).
4. Envie para o repositório (`git push origin minha-nova-funcionalidade`).
5. Abra um pull request.
## Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para mais detalhes.
---
Esse é um README simples e funcional para o seu projeto. Ele fornece as informações essenciais sobre como instalar, usar e entender o projeto, além de explicar o que ele faz e como os outros podem contribuir. Se houver mais detalhes ou especificidades sobre o projeto, você pode incluir ou ajustar conforme necessário.