How to make a table in Python?
Published on Aug. 22, 2023, 12:15 p.m.
There are several ways to make a table in Python, depending on your needs and the format of your data.
- Using the
tabulate
Library
Thetabulate
library provides a simple way to create plain-text tables in Python. Here’s an example:
from tabulate import tabulate
data = [("John", 28), ("Mary", 30), ("Bob", 25)]
headers = ["Name", "Age"]
print(tabulate(data, headers=headers))
This will output a table:
Name Age
------ ---
John 28
Mary 30
Bob 25
- Using the
prettytable
Library
Theprettytable
library provides a way to create more complex tables with column and row spanning. Here’s an example:
from prettytable import PrettyTable
x = PrettyTable()
# Add columns
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
# Add rows
x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])
print(x)
This will output a table:
+------------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+------------+------+------------+-----------------+
| Adelaide | 1295 | 1158259 | 600.5 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Darwin | 112 | 120900 | 1714.7 |
| Hobart | 1357 | 205556 | 619.5 |
| Sydney | 2058 | 4336374