Openpyxl is a Python library that reads and writes Excel files (with the extensions xlsx/xlsm/xltx/xltm). Python openpyxl module allows the program to read and modify Excel files.
For example, a user will have to go through hundreds of rows of data and select a few handful of information to make minor changes based on some criterion. These activities can be completed quickly and easily with the Openpyxl module.
Installation:
sudo pip3 install openpyxl
Let us take an example of demo.xlsx excel spreadsheet as shown below:

Program for Reading an Excel File using openpyxl Module in Python
Example1: Python Code for printing the specified cell value
Approach:
- Import openpyxl module using the import keyword.
- Take a variable and initialize it with the path of the file.
- Pass the above file path as an argument to the load_workbook() function to create a workbook object and store it in a variable.
- Choose the active sheet using the active attribute and store it in another variable.
- Select the any random cell of the excel sheet by passing some random row_no & col_no as arguments to the cell() function and store it in a variable.
- Print value of above-given cell object using the value attribute.
- The Exit of the Program.
Below is the implementation:
# Import openpyxl module using the import keyword import openpyxl # Take a variable and initialize it with the path of the file. file_path = "demo.xlsx" # Pass the above file path as an argument to the load_workbook() # function to create a workbook object and store it in a variable. work_book = openpyxl.load_workbook(file_path) # Choose the active sheet using the active attribute and store it in another variable. actve_sheet = work_book.active # Select the any random cell of the excel sheet by passing some random # row_no & col_no as arguments to the cell() function and store it in a variable. gvn_cell = actve_sheet.cell(row = 1, column = 2) # Print value of above given cell object using the value attribute print(gvn_cell.value)
Output:
First Name
Example2: Python Code for printing total no of rows in Excel sheet
Approach:
- Import openpyxl module using the import keyword.
- Take a variable and initialize it with the path of the file.
- Pass the above file path as an argument to the load_workbook() function to create a workbook object and store it in a variable.
- Choose the active sheet using the active attribute and store it in another variable.
- Print the total number of rows present in the above given Excel sheet by using the max_row attribute.
- The Exit of the Program.
Below is the implementation:
# Import openpyxl module using the import keyword
import openpyxl
# Take a variable and initialize it with the path of the file.
file_path = "demo.xlsx"
# Pass the the above file path as an argument to the load_workbook()
# function to create a workbook object and store it in a variable.
work_book = openpyxl.load_workbook(file_path)
# Choose the active sheet using the active attribute and store it in another variable.
actve_sheet = work_book.active
# Print the total number of rows present in the above given Excel
# sheet by using the max_row attribute
print("Total no of rows present in the above given Excel sheet = ", actve_sheet.max_row)Output:
Total no of rows present in the above given Excel sheet = 10
Example3: Python Code for printing total no of columns in Excel sheet
Approach:
- Import openpyxl module using the import keyword.
- Take a variable and initialize it with the path of the file.
- Pass the above file path as an argument to the load_workbook() function to create a workbook object and store it in a variable.
- Choose the active sheet using the active attribute and store it in another variable.
- Print the total number of columns present in the above given Excel sheet by using the max_column attribute.
- The Exit of the Program.
Below is the implementation:
# Import openpyxl module using the import keyword
import openpyxl
# Take a variable and initialize it with the path of the file.
file_path = "demo.xlsx"
# Pass the the above file path as an argument to the load_workbook()
# function to create a workbook object and store it in a variable.
work_book = openpyxl.load_workbook(file_path)
# Choose the active sheet using the active attribute and store it in another variable.
actve_sheet = work_book.active
# Print the total number of columns present in the above given Excel
# sheet by using the max_column attribute
print("Total no of columns present in the above given Excel sheet = ", actve_sheet.max_column)Output:
Total no of columns present in the above given Excel sheet = 8
Example4: Python Code for printing all the columns of the Excel sheet
Approach:
- Import openpyxl module using the import keyword.
- Take a variable and initialize it with the path of the file.
- Pass the above file path as an argument to the load_workbook() function to create a workbook object and store it in a variable.
- Choose the active sheet using the active attribute and store it in another variable.
- Get the total number of columns present in the above given Excel sheet by using the max_column attribute and store it in another variable.
- Iterate from 1 to the above total number of columns using the for loop.
- Get the iterator number column of the 1st row using the cell() function.
- Print the column name using the value attribute.
- The Exit of the Program.
Below is the implementation:
# Import openpyxl module using the import keyword
import openpyxl
# Take a variable and initialize it with the path of the file.
file_path = "demo.xlsx"
# Pass the the above file path as an argument to the load_workbook()
# function to create a workbook object and store it in a variable.
work_book = openpyxl.load_workbook(file_path)
# Choose the active sheet using the active attribute and store it in another variable.
actve_sheet = work_book.active
# Get the total number of columns present in the above given
# Excel sheet by using the max_column attribute and store it in another variable.
tot_cols = actve_sheet.max_column
# Iterate from 1 to the above total number of columns using the for loop
for itr in range(1, tot_cols + 1):
# Get the iterator number column of the 1st row using the cell() function
cellobject = actve_sheet.cell(row = 1, column = itr)
# Print the column name using the value attribute
print(cellobject.value)Output:
S.No First Name Last Name Gender Country Age Date Id
Example5: Python Code for printing the 2nd(any col) column values
Below is the implementation:
# Import openpyxl module using the import keyword
import openpyxl
# Take a variable and initialize it with the path of the file.
file_path = "demo.xlsx"
# Pass the the above file path as an argument to the load_workbook()
# function to create a workbook object and store it in a variable.
work_book = openpyxl.load_workbook(file_path)
# Choose the active sheet using the active attribute and store it in another variable.
actve_sheet = work_book.active
# Get the total number of columns present in the above given
# Excel sheet by using the max_column attribute and store it in another variable.
tot_cols = actve_sheet.max_column
# Iterate from 1 to the above total number of columns using the for loop
for itr in range(1, tot_cols + 1):
# Get the iterator number of rows of the 2nd column using the cell() function
cellobject = actve_sheet.cell(row = itr, column = 2)
# Print the given column value using the value attribute
print(cellobject.value)Output:
First Name Dulce Mara Philip Kathleen Nereida Gaston Etta
# Import openpyxl module using the import keyword
import openpyxl
# Take a variable and initialize it with the path of the file.
file_path = "demo.xlsx"
# Pass the the above file path as an argument to the load_workbook()
# function to create a workbook object and store it in a variable.
work_book = openpyxl.load_workbook(file_path)
# Choose the active sheet using the active attribute and store it in another variable.
actve_sheet = work_book.active
# Get the total number of columns present in the above given
# Excel sheet by using the max_column attribute and store it in another variable.
tot_cols = actve_sheet.max_column
# Iterate from 1 to the above total number of columns using the for loop
for itr in range(1, tot_cols + 1):
# Get the iterator number of columns of the 3rd row using the cell() function
cellobject = actve_sheet.cell(row = 3, column = itr)
# Print the given row value using the value attribute
print(cellobject.value)Output:
2 Mara Hashimoto Female Great Britain 25 16/08/2016 1582
