From Clipboard to DataFrame With Pandas: A Quick Guide

Read data directly from the clipboard without saving it first. Here’s how.

Written by Parul Pandey
Published on Mar. 23, 2022
Brand Studio Logo

When I write about a library or a new concept, I typically like to showcase how it works through concrete examples. The sources I use for data sets in my articles vary widely. Sometimes I create simple toy data sets, while other times I go with the established data set sites like Kaggle and Google search. However, every time I need to showcase a concept, I have to go through the laborious work of copying the data from the source, saving it to my system, and finally using it in my development environment. Imagine my surprise when I discovered a built-in method in Pandas created to address this very issue. 

What Is the pandas.read_clipboard() Function?

The read_clipboard() method of Pandas creates a DataFrame from data copied to the clipboard. It reads text from the clipboard and passes it to read_csv(), which then returns a parsed DataFrame object.

This method, aptly named read_clipboard is an absolute savior when you want to try out some new function or library quickly. Here’s how to use it.

 

Using pandas.read_clipboard() Function

The read_clipboard() method of Pandas creates a DataFrame from data copied to the clipboard. It reads text from the clipboard and passes it to read_csv(), which then returns a parsed DataFrame object.

More From Parul Pandey10 Python Image Manipulation Tools You Can Use Today

 

Syntax

pandas.read_clipboard(sep='\\s+', **kwargs)

If you’ve worked with Pandas’s read_csv(), the read_clipboard() method is essentially the same. The only difference is that the source of data in the latter comes from the clipboard buffer instead of a CSV file.

 

Usage

Let’s now look at various ways of using this method. The main steps involved are:

clipboard-dataframe-pandas
Steps involved | Image by Author

 

1. Copying Data from Excel Files

We’ll begin by copying some data sets from an Excel file. This is the most common scenario you’ll encounter.

Now you’ve copied the data onto the clipboard. Next, we’ll navigate to a Jupyter Notebook (or any IDE) instance and type in the following code snippet:

import pandas as pd
df = pd.read_clipboard()
df
clipboard-dataframe-pandas
DataFrame obtained from the copied data set | Image by Author

The copied data set gets passed into the variable DataFrame and is now available in your environment. Here’s a demonstration of the process.

Pick Up More Pointers From Parul How to Enable Jupyter Notebook Notifications

 

2. Copying Data From CSV Files

If you have a CSV file, the steps remain the same. You will only need to make certain changes in the parameters of the function. Consider the following CSV data:

,Order ID,Category,Sales,Quantity,Discount
0,1,Apparels,16.448,2,0.2
1,2,Electronics,65.0,87,0.2
2,3,Cosmetics,272.736,3,0.2
3,4,Apparels,3.54,2,0.8
4,5,Electronics,19.536,3,0.2
5,6,Cosmetics,19.44,3,0.0
6,7,Grocery,12.78,3,0.0
7,8,Grocery,2573.82,9,0.0
8,9,Apparels,609.98,2,0.0
9,10,Cosmetics,300.0,10,0.5

Copy the above data and run the code below.

df = pd.read_clipboard(
  sep=",",
  header="infer",
  index_col=0,
  names=["Order", "ID", "Category", "Sales", "Quantity", "Discount"],
)
df
clipboard-dataframe-pandas
DataFrame obtained from the copied data set | Image by Author

We get the same DataFrame as in step one. The only difference is that we had to pass in the name of the columns and information about the header and index column.

Pandas Tip: How to Import a Data Set from Clipboard and Copy a DataFrame to a Clipboard

 

3. Copying Data From Webpages

You can also copy the data from any source, including a web page, as long as it’s structured in the form of a DataFrame. Here’s an example of copying data from StackOverflow and importing it into a DataFrame.

More Built In TutorialsHow to Generate Subplots With Python’s Matplotlib

 

4. Saving the Data

We can use the clipboard data to save the data set for future use in the desired format.

df.to_csv('data.csv')

You can also save the data in HTML format to display the data as HTML tables.

df.to_html('data.html')
clipboard-dataframe-pandas
Pandas DataFrame saved as an HTML table | Image by Author

Now that you’ve learned about the read_clipboard method, you’ll definitely want to try it out. You can also check out other blogs that I have written on Pandas’s functionality. For instance, this one helps you create interactive plots directly with Pandas, and this one is a hands-on guide to sorting DataFrames in Pandas.

Explore Job Matches.