Skip to main content

Easy way converting from text, list, or dict to text or list with fixed widths.

Project description

Easy way converting from text, list, or dict to text or list with fixed widths.

The Installation

>>> pip install pyfixedwidths

Examples

>>> from pyfixedwidths import FixedWidthFormatter
>>> text = (
>>> "1,2,3,4\n"
>>> "11,,33,44\n"
>>> )
>>>
>>> listofdict = [
>>>     dict(name="John Doe", age=20, hobby="swim"),
>>>     dict(name="John Smith", age=100, job="teacher"),
>>> ]
>>>
>>> array = [
>>>     [1, None, 3, 4],
>>>     [11, 22, None, 44],
>>> ]
>>>
>>> fw = FixedWidthFormatter()
>>> fw.from_text(text).to_text(padding=1)
>>> #=>
>>>     ("1  , 2 , 3  , 4 \n"
>>>      "11 ,   , 33 , 44\n")
>>>
>>> fw.from_text(text).to_array(padding=1)
>>> #=>
>>>     [["1  "," 2 "," 3  "," 4 "],
>>>      ["11 ","   "," 33 "," 44"],]
>>>
>>> fw = FixedWidthFormatter()
>>> fw.from_array(array).to_text(padding=0)
>>> #=>
>>>     ("1 ,None,3   ,4 \n"
>>>      "11,    ,None,44\n")
>>>
>>> fw.from_array(array).to_array(padding=0)
>>> #=>
>>>     [["1 ","None","3   ","4 "],
>>>      ["11","    ","None","44"],]
>>>
>>> fw = FixedWidthFormatter(schema=schema)
>>> fw.from_dict(listofdict).to_text(padding=0)
>>> #=>
>>>     ("name      ,age,hobby,job    \n"
>>>      "John Doe  ,20 ,swim ,       \n"
>>>      "John Smith,100,     ,teacher\n")
>>>
>>> fw.from_dict(listofdict).to_list(padding=0)
>>> #=>
>>>     [["name      ", "age", "hobby", "job    "],
>>>      ["John Doe  ", "20 ", "swim ", "       "],
>>>      ["John Smith", "100", "     ", "teacher"],]
>>> schema = [
>>>     dict(
>>>         justification="rjust"
>>>     ),
>>>     dict(
>>>         format=":>5s"
>>>     ),
>>>     dict(),
>>>     dict(
>>>         format=":2s"
>>>     )
>>> ]
>>>
>>> fw = FixedWidthFormatter(schema=schema)
>>> fw.from_dict(listofdict).to_text(padding=2)
>>> #=>
>>>     ("      name  ,    age  ,  hobby  ,  job\n"
>>>      "  John Doe  ,     20  ,  swim   ,    \n"
>>>      "John Smith  ,    100  ,         ,  teacher\n")
>>>
>>> fw.from_dict(listofdict, headers=["hobby", "job", "location", "name"]).to_text(padding=1)
>>> #=>
>>>     (   "hobby ,     job , location , name\n"
>>>         " swim ,         ,          , John Doe\n"
>>>         "      , teacher ,          , John Smith\n")

Requirements

  • Python 3

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

pyfixedwidths-0.1.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

pyfixedwidths-0.1.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file pyfixedwidths-0.1.0.tar.gz.

File metadata

  • Download URL: pyfixedwidths-0.1.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.6.9 Linux/5.8.0-50-generic

File hashes

Hashes for pyfixedwidths-0.1.0.tar.gz
Algorithm Hash digest
SHA256 882fa2d391d127d756ef6c1f4d3e525dce9c1c5be30e2abe5d4d7d3a2a494991
MD5 e7a38ce5bf86faf9e0cc4d15804aad47
BLAKE2b-256 d0098d3541f5249152d277343183ca74fc9919a76a55a3971d22ca6fe775e5fb

See more details on using hashes here.

File details

Details for the file pyfixedwidths-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyfixedwidths-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.6.9 Linux/5.8.0-50-generic

File hashes

Hashes for pyfixedwidths-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 723c0758f8c667c5b07389d0b4845bd0566af316afea6a364dc5f0bc168eb146
MD5 a458f9063f82bce888e2a8d0ad4439df
BLAKE2b-256 c2fcc7ea4fcfd63e99b80123d99d60dc07aeb1d936db9debb8e5aeb54c77da72

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