Usage
In the following examples shows you how you can use
from tabulato import colorful_tabulate, TableRowStyle
headers = ["Name", "Student Number", "DOB", "Email Address"]
data = [
["John Doe", "S12345", "1995-07-15", "john@example.com"],
["Alice Smith", "S67890", "1998-03-22", "alice@example.com"],
["Bob Johnson", "S54321", "1997-11-10", "bob@example.com"],
["Emma Brown", "S98765", "1996-09-18", "emma@example.com"],
["Michael Lee", "S24680", "1999-05-30", "michael@example.com"],
["Sophia Wang", "S13579", "1994-12-05", "sophia@example.com"],
["David Chen", "S75310", "1992-04-08", "david@example.com"],
["Olivia Kim", "S36924", "1993-10-25", "olivia@example.com"],
]
colorful_tabulate(
data=data,
column_widths=[20, 20, 20, 30],
)
Note
The above function will result in the following table being created in the terminal.
name |
student number |
dob |
|
|---|---|---|---|
John Doe |
S12345 |
1995-07-15 |
|
Alice Smith |
S67890 |
1998-03-22 |
|
Bob Johnson |
S54321 |
1997-11-10 |
|
Emma Brown |
S98765 |
1996-09-18 |
|
Michael Lee |
S24680 |
1999-05-30 |
|
Sophia Wang |
S13579 |
1994-12-05 |
|
David Chen |
S75310 |
1992-04-08 |
|
Olivia Kim |
S36924 |
1993-10-25 |
The colorful table will look as follows:
However you can style the rows of the table using the TableRowStyle class by specifying the options as follows:
colorful_tabulate(
data=data,
column_widths=[20, 20, 20, 30],
header_style=TableRowStyle(
bold=True,
italic=False,
color="BLUE",
background="BG_BLUE",
),
even_row_style=TableRowStyle(
bold=False,
italic=False,
color="GREEN",
underline=True,
),
odd_row_style=TableRowStyle(
bold=False,
italic=False,
color="YELLOW",
strikethrough=True,
),
)
The table data can also be a list of python dictionaries. Here is an example of using a list of python dictionaries to generate a table.
data = [
{
"name": "John Doe",
"student number": "S12345",
"dob": "1995-07-15",
"email": "john@example.com",
},
{
"name": "Alice Smith",
"student number": "S67890",
"dob": "1998-03-22",
"email": "alice@example.com",
},
{
"name": "Bob Johnson",
"student number": "S54321",
"dob": "1997-11-10",
"email": "bob@example.com",
},
{
"name": "Emma Brown",
"student number": "S98765",
"dob": "1996-09-18",
"email": "emma@example.com",
},
{
"name": "Michael Lee",
"student number": "S24680",
"dob": "1999-05-30",
"email": "michael@example.com",
},
{
"name": "Sophia Wang",
"student number": "S13579",
"dob": "1994-12-05",
"email": "sophia@example.com",
},
{
"name": "David Chen",
"student number": "S75310",
"dob": "1992-04-08",
"email": "david@example.com",
},
{
"name": "Olivia Kim",
"student number": "S36924",
"dob": "1993-10-25",
"email": "olivia@example.com",
},
]
colorful_tabulate(
data=data,
column_widths=[20, 20, 20, 30],
)
The colorful_tabulate is a useful function for visually enhancing tabulated data in terminal output by applying colors and styling. The following are the parameters that this function takes.
Parameter |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
data |
The list of data to be displayed. |
list |
Yes |
|
headers |
The list of column headers. |
list |
None |
No |
colorful |
Whether to display the table in color. |
bool |
True |
No |
bold_header |
Whether to display the header in bold. |
bool |
True |
No |
header_style |
Style for the header row. |
TableRowStyle |
TableRowStyle(bold=True, italic=False, color=”BLUE”, background=None) |
No |
even_row_style |
Style for even-numbered rows. |
TableRowStyle |
TableRowStyle(bold=False, italic=False, color=”GREEN”, background=None) |
No |
odd_row_style |
Style for odd-numbered rows. |
TableRowStyle |
TableRowStyle(bold=False, italic=False, color=”YELLOW”, background=None) |
No |
column_widths |
List of column widths. |
list |
[] |
No |
The following are the color literals that can be passed to the color and background respectively.
Color |
Description |
|---|---|
“BLACK” |
Black |
“RED” |
Red |
“GREEN” |
Green |
“YELLOW” |
Yellow |
“BLUE” |
Blue |
“PURPLE” |
Purple |
“CYAN” |
Cyan |
“WHITE” |
White |
Background |
Description |
|---|---|
“BG_BLACK” |
Black background |
“BG_RED” |
Red background |
“BG_GREEN” |
Green background |
“BG_BLUE” |
Blue background |
“BG_PURPLE” |
Purple background |
“BG_CYAN” |
Cyan background |
“BG_WHITE” |
White background |
“BG_YELLOW” |
Yellow background |