name: lendo-arquivos description: "Le arquivos Excel (.xlsx, .xls) e CSV enviados pelo usuario. Use quando o usuario anexar um arquivo e pedir para analisar, importar ou processar os dados. Retorna o conteudo como JSON para analise."
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.