Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Parsing Fixed-Length File Records with Python

DZone's Guide to

Parsing Fixed-Length File Records with Python

· Web Dev Zone ·
Free Resource

Learn how Crafter’s Git-based content management system is reinventing modern digital experiences. Download this white paper now. 

I’ve recently had to deal with parsing fixed-length file records and found struct.unpack and namedtuple to be a pretty useful and concise combination for the task:

>>> from struct import unpack
>>> from collections import namedtuple
>>> line = '    23C   17000'
>>> Transaction = namedtuple('Transaction', 'code status amount')
>>> format = '<6sc8s' # code: 6bytes, status: 1byte, amount: 8bytes
>>> txn = Transaction._make(unpack(format, line))
>>> txn
Transaction(code='    23', status='C', amount='   17000')
>>> txn.code, txn.status, txn.amount
('    23', 'C', '   17000')

Crafter CMS is a modern Git-based platform for building innovative websites and content-rich digital experiences. Download this white paper now.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}