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?
A detecção automática funciona em qualquer arquivo?
Os dados são enviados para algum servidor?
Ferramentas Relacionadas
CSV para JSON
Converta CSV em JSON. A primeira linha vira chaves do objeto, demais linhas viram itens do array. Suporta separadores , ; e \t. Detecta números e booleans automaticamente. Tudo no navegador.
Conversor CSV → JSON Lines
Converte CSV em JSONL (uma linha JSON por registro). Formato comum em logs, pipelines de ML e bancos de dados orientados a documentos.
Conversor JSONP para JSON
Remove o wrapper de callback de uma resposta JSONP e devolve apenas o JSON contido dentro dos parênteses.