Ecossistema Multi-Linguagem v1.0.0 Released

Processamento de Arquivos Posicionais Padronizado & Confiável

Bibliotecas open source para leitura, validação e geração de arquivos de largura fixa (Fixed Width File) em Python, Java, JavaScript e PHP com descritores orientados a objetos e suíte de testes de conformidade.

5 Repositórios
4 Linguagens
100% Test Coverage
v1.0.0 Compliance Standard

Ecossistema de Bibliotecas FWF

Conheça as implementações oficiais mantidas sob a organização fixed-width-file.

python-pyfwf Python

Biblioteca de referência em Python para leitura e geração de arquivos posicionais com colunas tipadas e descritores OO.

java-fwf Java

Biblioteca em Java para leitura e gravação de arquivos posicionais e integração com JUnit 5 e suíte compliance.

javascript-fwf TypeScript

Implementação em TypeScript/Node.js para manipulação de arquivos posicionais com tipagem estática.

php-fwf PHP

Biblioteca em PHP 8.x para parsing de arquivos FWF, integração via Composer e testes via PHPUnit.

Suíte de Testes de Conformidade (v1.0.0)

Garantia de que qualquer parser em qualquer linguagem retorne exatamente o mesmo resultado estruturado.

ID do Caso Categoria Descrição do Teste
simple basic Arquivo ASCII simples com 1 descritor de detalhe e colunas texto e inteiro.
utf8 encoding Suporte a caracteres multibyte UTF-8 com acentuação em português.
typed_columns types Colunas tipadas: Char, RightChar, Integer, Decimal, Date, Time, DateTime e nulos.
header_footer structure Arquivo com linhas de Cabeçalho (Header), Detalhes (Detail) e Rodapé (Footer).
padding_and_spaces edge_cases Casos de borda: alinhamentos, espaços em branco e campos vazios.

Repositório de conformidade

Todas as bibliotecas são 100% aderentes ao padrão presente na suíte de conformidade.

fwf-compliance-tests Suíte de conformidade

Suíte de conformidade agnóstica de linguagem em formato JSON/FWF para validar novos parsers.

Exemplos de Código

API uniforme orientada a objetos para criar descritores e ler arquivos posicionais.

from pyfwf.columns import CharColumn, PositiveIntegerColumn, PositiveDecimalColumn
from pyfwf.descriptors import DetailRowDescriptor, FileDescriptor
from pyfwf.readers import Reader

# Define os campos do detalhe
detail = DetailRowDescriptor([
    CharColumn(name="nome", size=20),
    PositiveIntegerColumn(name="idade", size=3),
    PositiveDecimalColumn(name="saldo", size=9, decimals=2)
])

# Cria o descritor de arquivo
fd = FileDescriptor(details=[detail])

# Lê o arquivo FWF
reader = Reader(conteudo_fwf, fd)
for row in reader:
    print(row)
    # Output: {'nome': 'KELSON MEDEIROS', 'idade': 45, 'saldo': 1250.50}

Playground FWF em Tempo Real

Digite ou cole um arquivo posicional para ver o parsing dinâmico dos campos em JSON.

Parser Posicional