When printing tabular data, it's usually very important to ensure that the text is properly aligned to a fixed length, no longer and no shorter than the space we reserved for our table cell.
If the text is too short, the next column might start too early; if it's too long, it might start too late. This leads to results like this:
col1 | col2-1
col1-2 | col2-2
Or this:
col1-000001 | col2-1
col1-2 | col2-2
Both of these are really hard to read and are far from showing a proper table.
Given a fixed column width (20 characters), we want our text to always be of that exact length so that it won't result in a misaligned table.
Here are the steps for this recipe:
- The
textwrap
module once combined with the features of thestr
object can help us achieve the expected result. First we need the content of the columns we want to print:
cols = ['hello world', 'this is a long text, maybe longer than expected, surely long enough', 'one more column']
- Then we need to fix...