Convert CSV to HTML Table in Python

Last Updated : 12 Jul, 2025

CSV file is a Comma Separated Value file that uses a comma to separate values. It is basically used for exchanging data between different applications. In this, individual rows are separated by a newline. Fields of data in each row are delimited with a comma.
Example :Ā 
Ā 

Name, Salary, Age, No.of years employed
Akriti, 90000, 20, 1
Shreya, 100000, 21, 2
Priyanka, 25000, 45, 7
Neha, 46000, 25, 4


Note: For more information, refer to Working with csv files in Python
Ā 

Converting CSV to HTML Table in Python


Method 1 Using pandas: One of the easiest way to convert CSV file to HTML table is using pandas. Type the below code in the command prompt to install pandas.
Ā 

pip install pandas 


Example: Suppose the CSV file looks like this -Ā 
Ā 

csv-to-html


Ā 

Python3
# Python program to convert 
# CSV to HTML Table


import pandas as pd

# to read csv file named "samplee"
a = pd.read_csv("read_file.csv")

# to save as html file
# named as "Table"
a.to_html("Table.htm")

# assign it to a 
# variable (string)
html_file = a.to_html()

Output:
Ā 

csv-to-html


Method 2 Using PrettyTable: PrettyTable is a simple Python library designed to make it quick and easy to represent tabular data in visually appealing ASCII tables. Type the below command to install this module.
Ā 

pip install PrettyTable


Example: The above CSV file is used.
Ā 

Python3
from prettytable import PrettyTable


# open csv file
a = open("read_file.csv", 'r')

# read the csv file
a = a.readlines()

# Separating the Headers
l1 = a[0]
l1 = l1.split(',')

# headers for table
t = PrettyTable([l1[0], l1[1]])

# Adding the data
for i in range(1, len(a)) :
    t.add_row(a[i].split(','))

code = t.get_html_string()
html_file = open('Tablee.html', 'w')
html_file = html_file.write(code)

Output :Ā 
Ā 

python-csv-to-html


Ā 

Comment

Explore