Lendo Arquivos - Processar Uploads do Usuario
Skill para leitura de arquivos enviados pelo usuario via upload.
ESCOPO: Esta skill processa Excel (.xlsx, .xls) e CSV. Para CRIAR/EXPORTAR arquivos para download, use
exportando-arquivos. Para consultas Odoo (NF, PO, SO, titulos), userastreando-odoo.
Script Principal
ler.py
source .venv/bin/activate && \
python .claude/skills/lendo-arquivos/scripts/ler.py [opcoes]
Tipos de Arquivo
FORMATOS SUPORTADOS
│
├── Excel (.xlsx)
│ Engine: openpyxl
│ Usar: Planilhas modernas (2007+)
│
├── Excel (.xls)
│ Engine: xlrd
│ Usar: Planilhas legado (97-2003)
│
└── CSV (.csv)
Separadores: ; , \t |
Usar: Arquivos texto estruturados
Parametros
Parametros Principais
| Parametro | Obrigatorio | Descricao | Exemplo |
|-----------|-------------|-----------|---------|
| --url | Sim | URL do arquivo (do upload) | --url /agente/api/files/default/abc.xlsx |
| --limite | Nao | Limite de linhas (default: 1000) | --limite 100 |
| --aba | Nao | Nome ou indice da aba (Excel) | --aba 0 ou --aba "Dados" |
| --cabecalho | Nao | Linha do cabecalho (default: 0) | --cabecalho 1 |
Exemplos de Uso
Ler arquivo Excel
source .venv/bin/activate && \
python .claude/skills/lendo-arquivos/scripts/ler.py \
--url "/agente/api/files/default/abc123_planilha.xlsx"
Ler com limite de linhas
python .../ler.py --url "/agente/api/files/default/dados.xlsx" --limite 50
Ler aba especifica
python .../ler.py --url "/agente/api/files/default/multi.xlsx" --aba "Vendas"
Ler CSV
python .../ler.py --url "/agente/api/files/default/dados.csv"
Retorno JSON
{
"sucesso": true,
"arquivo": {
"nome": "planilha.xlsx",
"tipo": "excel",
"tamanho": 15234,
"tamanho_formatado": "14.9 KB",
"abas": ["Dados", "Resumo"],
"aba_lida": "Dados"
},
"dados": {
"colunas": ["Pedido", "Cliente", "Valor"],
"total_linhas": 150,
"linhas_retornadas": 100,
"registros": [
{"Pedido": "VCD123", "Cliente": "ATACADAO", "Valor": 50000},
{"Pedido": "VCD456", "Cliente": "ASSAI", "Valor": 75000}
]
},
"resumo": "Arquivo EXCEL com 150 linhas e 3 colunas (limitado). Colunas: Pedido, Cliente, Valor"
}
Fluxo de Uso
Quando o usuario anexar um arquivo e pedir "analise essa planilha":
- Identificar URL do arquivo nos metadados do anexo
- Executar script:
source .../venv/bin/activate && python .../ler.py --url "URL_DO_ARQUIVO" - Analisar JSON retornado
- Responder ao usuario com insights dos dados
Tratamento de Erros
| Erro | Causa | Solucao | |------|-------|---------| | Arquivo nao encontrado | URL invalida | Verificar URL do anexo | | Formato nao suportado | Extensao invalida | Apenas xlsx, xls, csv | | Arquivo corrompido | Arquivo danificado | Pedir ao usuario reenviar | | Dependencia faltando | Biblioteca nao instalada | pip install pandas openpyxl xlrd |
Conversoes Automaticas
| Tipo Original | Conversao | |---------------|-----------| | Datas | ISO 8601 (YYYY-MM-DD) | | Numeros | float/int preservado | | NaN/vazio | null | | Texto | string |
Notas
- Limite padrao: 1000 linhas (para evitar respostas muito grandes)
- Para arquivos grandes, use
--limitepara obter amostra - Separador CSV eh detectado automaticamente (
;,,,\t,|) - Encoding: UTF-8 com BOM suportado
Relacionado
| Skill | Uso | |-------|-----| | exportando-arquivos | CRIAR/EXPORTAR arquivos para download | | rastreando-odoo | Consultas e rastreamento de fluxos Odoo | | gerindo-expedicao | Consultas de carteira, separacoes e estoque |
NOTA: Esta skill eh para LEITURA de arquivos do usuario. Para criar arquivos para download, use
exportando-arquivos.
Scan to join WeChat group