Visualize data from CSV file in Python

03 Mar, 2021
CSV stands for ‘Comma-Separated Values‘. It means the data(values) in a CSV file are separated by a delimiter i.e., comma. Data in a CSV file is stored in tabular format with an extension of .csv. Generally, CSV files are used with Google spreadsheets or Microsoft Excel sheets. A CSV file contains a number of records with the data spread across rows and columns. In this article, we are going to visualize data from a CSV file in Python.
To extract the data in CSV file, CSV module must be imported in our program as follows:
import csv

with open('file.csv') as File:  
    Line_reader = csv.reader(File) 
Here, csv.reader( ) function is used to read the program after importing CSV library.
Example 1: Visualizing the column of different persons through bar plot.
The below CSV file contains different person name, gender, and age saved as ‘biostats.csv’:
The approach of the program:
Import required libraries, matplotlib library for visualizing, and CSV library for reading CSV data.Open the file using open( ) function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.Read each line in the file using for loop.Append required columns into a list.After reading the whole CSV file, plot the required data as X and Y axis.In this example, we are plotting names as X-axis and ages as Y-axis.
Import required libraries, matplotlib library for visualizing, and CSV library for reading CSV data.
Open the file using open( ) function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.
Read each line in the file using for loop.
Append required columns into a list.
After reading the whole CSV file, plot the required data as X and Y axis.
In this example, we are plotting names as X-axis and ages as Y-axis.
Below is the implementation:
Python3
import matplotlib.pyplot as pltimport csv  x = []y = []  with open('biostats.csv','r') as csvfile:    plots = csv.reader(csvfile, delimiter = ',')          for row in plots:        x.append(row[0])        y.append(int(row[2]))  plt.bar(x, y, color = 'g', width = 0.72, label = "Age")plt.xlabel('Names')plt.ylabel('Ages')plt.title('Ages of different persons')plt.legend()plt.show()
Output :
Example 2: Visualizing Weather Report on different Dates” through-line plot.
Temperature(°C) on different dates is stored in a CSV file as ‘Weatherdata.csv’. These two rows ‘Dates’ and ‘Temperature(°C )’ are used as X and Y-axis for visualizing weather reports.
Approach of the program:
Import required libraries, matplotlib library for visualizing, and csv library for reading CSV data.Open the file using open( )  function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.Read each line in the file using for loop.Append required columns of the CSV file into a list.After reading the whole CSV file, plot the required data as X and Y axis.In this Example, we are plotting Dates as X-axis and Temperature(°C ) as Y-axis.
Import required libraries, matplotlib library for visualizing, and csv library for reading CSV data.
Open the file using open( )  function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.
Read each line in the file using for loop.
Append required columns of the CSV file into a list.
After reading the whole CSV file, plot the required data as X and Y axis.
In this Example, we are plotting Dates as X-axis and Temperature(°C ) as Y-axis.
Below is the implementation:
Python3
import matplotlib.pyplot as pltimport csv  x = []y = []  with open('Weatherdata.csv','r') as csvfile:    lines = csv.reader(csvfile, delimiter=',')    for row in lines:        x.append(row[0])        y.append(int(row[1]))  plt.plot(x, y, color = 'g', linestyle = 'dashed',         marker = 'o',label = "Weather Data")  plt.xticks(rotation = 25)plt.xlabel('Dates')plt.ylabel('Temperature(°C)')plt.title('Weather Report', fontsize = 20)plt.grid()plt.legend()plt.show()
Output :
Example 3: Visualizing patients blood pressure report of a hospital through Scatter plot
Approach of the program “Visualizing patients blood pressure report” through Scatter plot :
Import required libraries, matplotlib library for visualization and importing csv library for reading CSV data.Open the file using open( ) function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.Read each line in the file using for loop.Append required columns of the CSV file into a list.After reading the whole CSV file, plot the required data as X and Y axis.In this example, we are plotting the Names of patients as X-axis and Blood pressure values as Y-axis.
Import required libraries, matplotlib library for visualization and importing csv library for reading CSV data.
Open the file using open( ) function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.
Read each line in the file using for loop.
Append required columns of the CSV file into a list.
After reading the whole CSV file, plot the required data as X and Y axis.
In this example, we are plotting the Names of patients as X-axis and Blood pressure values as Y-axis.
Below is the implementation:
Python3
import matplotlib.pyplot as pltimport csv  Names = []Values = []  with open('bldprs_measure.csv','r') as csvfile:    lines = csv.reader(csvfile, delimiter=',')    for row in lines:        Names.append(row[0])        Values.append(int(row[1]))  plt.scatter(Names, Values, color = 'g',s = 100)plt.xticks(rotation = 25)plt.xlabel('Names')plt.ylabel('Values')plt.title('Patients Blood Pressure Report', fontsize = 20)  plt.show()
Output :
Example 4: Visualizing Student marks in different subjects using a pie plot
Approach of the program:
Import required libraries, matplotlib library for visualization and importing csv library for reading CSV data.Open the file using open( )  function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.Read each line in the file using for loop.Append required columns of the CSV file into lists.After reading the whole CSV data, plot the required data as pie plot using plt.pie( ) function.
Import required libraries, matplotlib library for visualization and importing csv library for reading CSV data.
Open the file using open( )  function with ‘r’ mode (read-only) from CSV library and read the file using csv.reader( ) function.
Read each line in the file using for loop.
Append required columns of the CSV file into lists.
After reading the whole CSV data, plot the required data as pie plot using plt.pie( ) function.
Below is the implementation:
Python3
import matplotlib.pyplot as pltimport csv  Subjects = []Scores = []  with open('SubjectMarks.csv', 'r') as csvfile:    lines = csv.reader(csvfile, delimiter = ',')    for row in lines:        Subjects.append(row[0])        Scores.append(int(row[1]))  plt.pie(Scores,labels = Subjects,autopct = '%.2f%%')plt.title('Marks of a Student', fontsize = 20)plt.show()
Output :
Data Visualization
Picked
python-csv
Python-matplotlib
Technical Scripter 2020
Python
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.