Updated June 28, 2023
Introduction to Python Print Table
Python is quite a powerful language regarding its data science capabilities. Moreover, the Printing tables within Python are sometimes challenging, as the trivial options provide you with the output in an unreadable format. We got you covered. There are multiple options to transform and print tables into many pretty and more readable formats. If you are working on Python in a Unix / Linux environment, then readability can be a huge issue from the user’s perspective.
How to Print Table in Python?
Several ways can be utilized to print tables in Python, namely:
- Using format() function to print dict and lists
- Using tabulate() function to print dict and lists
- text table
- beautiful table
- Pretty Table
Reading data in a tabular format is much easier as compared to an unstructured format, as given below:
- Pos, Lang, Percent, Change
- 1, Python, 33.2, UP
- 2, Java, 23.54, DOWN
- 3, Ruby, 17.22, UP
- 5, Groovy, 9.22, DOWN
- 6, C, 1.55, UP
- 10, Lua, 10.55, DOWN
Tabular Format
Pos Lang Percent Change
1 Python 33.2 UP
2 Java 23.54 DOWN
3 Ruby 17.22 UP
5 Groovy 9.22 DOWN
6 C 1.55 UP
10 Lua 10.55 DOWN
How can we Print Tables in Python?
We tend to use information from a dictionary or a list quite frequently. One way of printing the same can be:
1. Unformatted Fashion
Let us take an example to understand this in detail
Code:
## Python program to print the data
d = {1: ["Python", 33.2, 'UP'],
2: ["Java", 23.54, 'DOWN'],
3: ["Ruby", 17.22, 'UP'],
10: ["Lua", 10.55, 'DOWN'],
5: ["Groovy", 9.22, 'DOWN'],
6: ["C", 1.55, 'UP']
}
print ("Pos,Lang,Percent,Change")
for k, v in d.items():
lang, perc, change = v
print (k, lang, perc, change)
Output:
The above example’s output is quite unreadable; let’s take another example of how we can print readable tables in Python.
2. Formatted Fashion
Code:
## Python program to print the data
d = {1: ["Python", 33.2, 'UP'],
2: ["Java", 23.54, 'DOWN'],
3: ["Ruby", 17.22, 'UP'],
10: ["Lua", 10.55, 'DOWN'],
5: ["Groovy", 9.22, 'DOWN'],
6: ["C", 1.55, 'UP']
}
print ("{:<8} {:<15} {:<10} {:<10}".format('Pos','Lang','Percent','Change'))
for k, v in d.items():
lang, perc, change = v
print ("{:<8} {:<15} {:<10} {:<10}".format(k, lang, perc, change))
Output:
- This gives us a better readability option using the format function in a print command.
- What if we want to print the data from a list in a tabular format in Python? How can this be done?
3. By utilizing the Format Function
Code:
dota_teams = ["Liquid", "Virtus.pro", "PSG.LGD", "Team Secret"]
data = [[1, 2, 1, 'x'],
['x', 1, 1, 'x'],
[1, 'x', 0, 1],
[2, 0, 2, 1]]
format_row = "{:>12}" * (len(dota_teams) + 1)
print(format_row.format("", *dota_teams))
for team, row in zip(dota_teams, data):
print(format_row.format(team, *row))
Output:
4. By utilizing the Tabulate Function
Let’s have another example to understand the same in quite some detail.
Code:
## Python program to understand the usage of tabulate function for printing tables in a tabular format
from tabulate import tabulate
data = [[1, 'Liquid', 24, 12],
[2, 'Virtus.pro', 19, 14],
[3, 'PSG.LGD', 15, 19],
[4,'Team Secret', 10, 20]]
print (tabulate(data, headers=["Pos", "Team", "Win", "Lose"]))
Output:
The best part is that you do not need to format each print statement whenever you add a new item to the dictionary or the List. There are several other ways as well that can be utilized to print tables in Python, namely:
- texttable
- beautifultable
- PrettyTable
- Otherwise, Pandas is another pretty solution if you are trying to print your data in the most optimized format.
5. Print the table using pandas in detail
Pandas is a Python library that provides data handling, manipulation, and diverse capabilities to manage, alter and create meaningful metrics from your dataset. Let’s take the below example to understand the print table option with pandas in detail.
Code:
## Python program to understand, how to print tables using pandas data frame
import pandas
data = [[1, 'Liquid', 24, 12],
[2, 'Virtus.pro', 19, 14],
[3, 'PSG.LGD', 15, 19],
[4,'Team Secret', 10, 20]]
headers=["Pos", "Team", "Win", "Lose"]
print(pandas.DataFrame(data, headers, headers))
print(' ')
print('-----------------------------------------')
print(' ')
print(pandas.DataFrame(data, headers))
Output:
How does it work?
- We imported the panda’s library using the import statement
- >> Import pandas
- Thereafter declared a list of lists and assigned it to the variable named “data.”
- in the very next step, we declared the headers
- >> headers=[“Pos”, “Team”, “Win”, “Lose”]
How can we print this List in a Formatted Readable Structure?
- Pandas have the power of data frames, which can handle, modify, update, and enhance your data in a tabular format.
- We have utilized the data frame module of the pandas’ library and the print statement to print tables in a readable format.
Conclusion
Reading data in a tabular format is much easier than in an unstructured format. Utilizing the capability of Python print statements with numerous functions can help you attain better readability for the same.
Recommended Articles
This is a guide to Python Print Table. Here we discuss the introduction to Python Print Table and how to print tables with different examples. You can also go through our other related articles to learn more –