Prettytable in Python
In this post, you will learn how to use the PrettyTable module of Python to generate a table.
prettytable Python
PrettyTable is a Python library for generating simple ASCII tables. PrettyTable class inside the prettytable library is used to make relational tables in Python. We can handle many aspects of a table, for example, the alignment of text, the width of the column padding, or the table line. It can peruse information from HTML, CSV, or database cursors and produce data in ASCII or HTML. It considers the determination of which columns are to be printed, and the printing of 'sub-tables' by selecting a row range.
Install PrettyTable
We can easily install the preetytable module using the pip command.
pip install prettytable
Creating table using PrettyTable row-wise
In the given Python program, we have generated a row-wise table using the PrettyTable module.
from prettytable import PrettyTable
# Creating a table and
# specifing the Column Names
newTable = PrettyTable(["Student Name", "Class", "Suject", "Marks"])
# Add rows
newTable.add_row(["Jones", "X", "Maths", "98"])
newTable.add_row(["Lee", "X", "English", "87"])
newTable.add_row(["Copper", "X", "Phyics", "92"])
newTable.add_row(["Parker", "X", "Chemstry", "83"])
newTable.add_row(["Bush", "X", "Biology", "82"])
newTable.add_row(["Ryan", "X", "History", "79"])
newTable.add_row(["Priska", "X", "Geography", "83"])
print(newTable)
Output of the above code-
Creating table using Pretty Table column-wise
In the given Python program, we have generated a column-wise table using the PrettyTable module.
from prettytable import PrettyTable
columns = ["Student Name", "Class", "Subject", "Marks"]
newTable = PrettyTable()
# Add Columns
newTable.add_column(columns[0], ["Anny", "Andy"])
newTable.add_column(columns[1], ["X", "X"])
newTable.add_column(columns[2], ["Computer", "Sanskrit"])
newTable.add_column(columns[3], ["89", "93"])
print(newTable)
Output of the above code-
Creating PrettyTable from CSV
To create a table from the CSV data, we can import the from_csv() method from PrettyTable. Suppose we have a CSV file containing some employee records. The following code generates PrettyTable from the given CSV file.
from prettytable import from_csv
with open("company.csv", "r") as fp:
x = from_csv(fp)
print(x)
Output of the above code-
Deleting Rows from Table
The prettytable module provides the del_row() method to remove rows. This method accepts the index value as an argument that has to be deleted. In the given example, we have deleted the 1st, 3rd, and 4th rows from the table.
from prettytable import PrettyTable
# Creating a table and
# specifing the Column Names
newTable = PrettyTable(["Student Name", "Class", "Suject", "Marks"])
# Adding rows
newTable.add_row(["Jones", "X", "Maths", "98"])
newTable.add_row(["Lee", "X", "English", "87"])
newTable.add_row(["Copper", "X", "Phyics", "92"])
newTable.add_row(["Parker", "X", "Chemstry", "83"])
newTable.add_row(["Bush", "X", "Biology", "82"])
newTable.add_row(["Ryan", "X", "History", "79"])
newTable.add_row(["Priska", "X", "Geography", "83"])
# Deleting rows
newTable.del_row(0)
newTable.del_row(2)
newTable.del_row(3)
print(newTable)
Output of the above code-
Clearing the table
This module provides the clear_rows() method to clear the entire table.
newTable.clear_rows()
Related Articles
Pascal triangle pattern in Python
Count vowels in a string Python
Calculate a Percentage in Python
Python convert list to numpy array
Python Numpy Array Shape
Python NumPy: Overview and Examples
Convert Python list to numpy array
numpy dot product
Trigonometric functions Python Numpy
Python Pandas Dataframe to CSV
Python Pandas DataFrame
Convert list to dictionary Python
Python dict inside list
Convert dictionary to dataframe Python
Python Pandas CSV to Dataframe
Convert List to Dataframe Python
Python add list to list
Difference between tuple and list in Python
Convert Excel to CSV Python Pandas
Alphabetical order Python
Python | Generate QR Code using pyqrcode module