| 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() |
|
|