File size: 1,321 Bytes
ae6fac2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | from __future__ import annotations
from prettytable import PrettyTable, TableStyle
from prettytable.colortable import ColorTable, Theme, Themes
FIELD_NAMES = ["City name", "Area", "Population", "Annual Rainfall"]
ROWS = [
["Adelaide", 1295, 1158259, 600.5],
["Brisbane", 5905, 1857594, 1146.4],
["Darwin", 112, 120900, 1714.7],
["Hobart", 1357, 205556, 619.5],
["Melbourne", 1566, 3806092, 646.9],
["Perth", 5386, 1554769, 869.4],
["Sydney", 2058, 4336374, 1214.8],
]
if __name__ == "__main__":
table = PrettyTable()
table.field_names = FIELD_NAMES
for row in ROWS:
if row[0] == "Hobart":
table.add_row(row, divider=True)
else:
table.add_row(row)
for style in TableStyle:
print("PrettyTable style:", style.name)
print()
table.set_style(style)
print(table)
print()
table = ColorTable()
table.field_names = FIELD_NAMES
for row in ROWS:
if row[0] == "Hobart":
table.add_row(row, divider=True)
else:
table.add_row(row)
for name, theme in vars(Themes).items():
if isinstance(theme, Theme):
print("ColorTable theme:", name)
print()
table.theme = theme
print(table)
print()
|