Skip to main content

A library for quickly processing fixed width files.

Project description

This package provides tools for building fast parsers of files composed of fields width records where one of the fields in the record specifies what type of record the line is.

The parsers built using this package yield named tuples containing the information in each row.

The parsers are specified using a simple and succinct declarative style:

from fixed import Parser, Record, Field, Discriminator, Skip

class Header(Record):
    type = Discriminator('H')
    row_count = Field(8, int)

class Data(Record):
    type = Discriminator('D')
    source = Field(5)
    junk = Skip(10)
    destination = Field(5)

 parser = Parser(Header, Data)

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page