Working with Excel Files in R and Python

[This article was first published on Steve's Data Tips and Tricks, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.


If you often work with Excel files and are looking to streamline your data import and export processes, R and Python offer some powerful packages to help you. Here, I’ll introduce you to some essential tools in both R and Python that will make handling Excel files a breeze.

R Packages for Excel Files


The readxl package is one of the most straightforward options for reading Excel files into R. It supports both .xls and .xlsx formats and is particularly appreciated for its simplicity and speed.

Here’s a quick example:

# Load the readxl package

# Read the Excel file
data <- read_excel("path_to_your_file.xlsx")

# View the first few rows of the data


If you need to do more than just read Excel files, openxlsx is a fantastic choice. This package allows you to read, write, and format Excel files, providing greater flexibility for data manipulation and presentation.


# Load the openxlsx package

# Read the Excel file
data <- read.xlsx("path_to_your_file.xlsx")

# Write data to a new Excel file
write.xlsx(data, "path_to_new_file.xlsx")


The xlsx package is another versatile tool for handling Excel files in R. It supports reading, writing, and formatting Excel files, and works well for both .xls and .xlsx formats.


# Load the xlsx package

# Read the Excel file
data <- read.xlsx("path_to_your_file.xlsx", sheetIndex = 1)

# Write data to a new Excel file
write.xlsx(data, "path_to_new_file.xlsx")

Python Packages for Excel Files


The pandas library is a cornerstone of data analysis in Python, and it includes the read_excel() function for reading Excel files. This function is highly versatile and integrates seamlessly with other pandas functionalities.


# Import the pandas package
import pandas as pd

# Read the Excel file
data = pd.read_excel("path_to_your_file.xlsx", sheet_name="Sheet1")

# Display the first few rows of the data


For more advanced Excel operations in Python, openpyxl is an excellent choice. It allows you to read and write Excel 2010 xlsx/xlsm/xltx/xltm files and offers extensive formatting capabilities.


# Import the openpyxl package
from openpyxl import load_workbook
import pandas as pd

# Load the workbook
wb = load_workbook("path_to_your_file.xlsx")

# Select a sheet by name
sheet = wb['Sheet1']

# Print the value of cell A1

Learn More

For a deeper dive into working with Excel files using R and Python, check out my book Extending Excel with Python and R. It’s packed with practical examples and tips to enhance your data processing workflows.

Happy coding!

To leave a comment for the author, please follow the link and comment on their blog: Steve's Data Tips and Tricks. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)