Skip to main content

Two-way fixed-width <--> Python dict converter.

Project description

Easy two-way conversion between Python dictionaries and fixed-width files. The FixedWidth class has been used in production without modification for several years.

This module has also proven useful for "debugging" a fixed-width spec -- an invalid configuration reports an error that may not be obvious from reading the spec document.

Requires a 'config' dictonary. See unit tests for full example.

Small example

SAMPLE_CONFIG = {

    'first_name': {
        'required': True,
        'type': 'string',
        'start_pos': 1,
        'end_pos': 10,
        'alignment': 'left',
        'padding': ' '
    },

    'last_name': {
        'required': True,
        'type': 'string',
        'start_pos': 11,
        'end_pos': 30,
        'alignment': 'left',
        'padding': ' '
    },

    'date': {
        'required': True,
        'type': 'date',
        'start_pos': 31,
        'end_pos': 38,
        'alignment': 'left',
        'format': '%Y%m%d',
        'padding': ' '
    },

    'decimal': {
        'required': True,
        'type': 'decimal',
        'precision': 2,
        'rounding': decimal.ROUND_UP,
        'start_pos': 38,
        'end_pos': 42,
        'alignment': 'left',
        'padding': ' '
    },

}

Notes:

  • A field must have a start_pos and either an end_pos or a length. If both an end_pos and a length are provided, they must not conflict.

  • A field may not have a default value if it is required.

  • Supported types are string, integer, and decimal.

  • Alignment and padding are required.

License: BSD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FixedWidth-1.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

FixedWidth-1.3-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file FixedWidth-1.3.tar.gz.

File metadata

  • Download URL: FixedWidth-1.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for FixedWidth-1.3.tar.gz
Algorithm Hash digest
SHA256 472fe49c93dff14975cb8ea5bf6a7ef4c42343a7a1b494993640c6580be3de93
MD5 5359aace515f77d54f12ce1bc4ee3b36
BLAKE2b-256 94b3a6c09d71a822d3570bcc1ec807af99052ef41d6b4606f67340f23933fc54

See more details on using hashes here.

File details

Details for the file FixedWidth-1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for FixedWidth-1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 39c3e24067b8436a5ac2560c59bf049a5db324d59271ad297bfd66b18195bf02
MD5 d751bf4bd4526eae9134951ca632aaf1
BLAKE2b-256 b325987e49efea97bda591282e93a55f86aec6e4fdff5ace77385ed8a5c1b0e9

See more details on using hashes here.

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