1001Ferramentas
📐 Conversores

Conversor de Largura Fixa ↔ CSV/JSON

Converte arquivos de largura fixa em CSV, TSV ou JSON e faz o caminho inverso, com detecção automática de colunas e mapa de posições.

No modo larguras: nome:14,uf:2 — uma largura por coluna, na ordem. No modo posições: nome:1-14,uf:15-16 — começa em 1 e inclui os dois extremos.

Diferença entre os dois modos de especificação

O modo larguras vai somando: nome:14,uf:2,valor:10 significa caracteres 1 a 14, depois 15 a 16, depois 17 a 26. O modo posições nomeia início e fim de cada campo, então dá para pular colunas de preenchimento e ler só o que interessa — útil quando o documento de layout lista 60 campos e você precisa de quatro.

A detecção automática procura colunas de caractere que estejam em branco em todas as linhas e trata as sequências de duas ou mais como separadores. Ela erra em layouts onde um valor encosta no campo seguinte, e junta duas colunas cujo intervalo seja de um único espaço. Quando isso acontecer, pegue o mapa de posições gerado, ajuste a fronteira à mão e converta de novo.

Converter arquivo de largura fixa em CSV

Arquivo de largura fixa não tem separador: cada campo ocupa um número exato de caracteres e o que sobra é preenchido com espaço ou zero. Um retorno bancário CNAB 240 é assim, e também o TXT que muito ERP cospe no lugar do CSV. Aberto no Excel, vira uma coluna só. Aqui você descreve o layout uma vez, no formato nome:14,uf:2,valor:10, e recebe CSV, TSV ou JSON pronto para importar.

O modo larguras soma os campos na ordem: 14 caracteres para o nome, 2 para a UF, 10 para o valor. O modo posições nomeia início e fim de cada campo, o que permite pular preenchimento e ler apenas quatro campos de um layout de sessenta. A detecção automática procura colunas em branco em todas as linhas e trata sequências de duas ou mais como separador — por isso ela junta dois campos afastados por um único espaço.

No caminho inverso, o CSV volta a ser posicional: cada campo é preenchido até a largura declarada, com espaço à direita ou zero à esquerda, que é como campos numéricos costumam ser gravados em arquivo de remessa. Se um valor não couber, ele é cortado e a ferramenta avisa em qual linha e em qual campo isso aconteceu, com o tamanho original. Melhor descobrir aqui do que no rejeito do banco.

Perguntas frequentes

O que acontece se uma linha for mais curta que o layout?
Ela não trava a conversão. Os campos que passam do fim da linha saem vazios e aparece um aviso dizendo quantos caracteres a linha tem e quantos a especificação exige. Isso costuma indicar linha de rodapé ou um registro de tipo diferente misturado no arquivo.
A detecção automática funciona em qualquer arquivo?
Não. Ela depende de existir pelo menos duas colunas de espaço em branco entre os campos em todas as linhas. Layouts em que um valor longo encosta no campo seguinte quebram a inferência. Nesse caso, use o mapa de posições gerado como ponto de partida e ajuste a fronteira à mão.
Os dados são enviados para algum servidor?
Não. Todo o processamento roda no seu navegador, em JavaScript, e nada do que você cola sai da máquina. Dá para desligar a internet, fechar e reabrir a aba pelo cache, e a conversão continua funcionando igual.

Ferramentas Relacionadas