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.

  1. Using the tabulate Library
    The tabulate 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
  1. Using the prettytable Library
    The prettytable 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

Tags:

related content