From clipboard to DataFrame with Pandas | by Parul Pandey | Towards Data Science

When I write about a library or a new concept, I typically like to showcase its working via examples. The source of datasets that I use in my articles varies widely. Sometimes I create simple toy datasets, while on other occasions, I go with the established dataset 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 issue. This method, aptly named as read_clipboard is an absolute savior when you want to try out some new function or library quickly, and in this article, we’ll learn how to use it.
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.
pandas.read_clipboard(sep='\\s+', **kwargs)
If you have worked with pandas’ 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.
I have you covered incase you want a deep dive into some of the parameters of the read_csv function in pandas.
towardsdatascience.com
Let’s now look at various ways of using this method. The main steps involved are:
We’ll begin by copying some datasets from an excel file. This is the most common scenario encountered.
Now the data has been copied onto the clipboard. Next, we will navigate to a Jupyter Notebook(or any IDE) instance and type in the following code snippet:
import pandas as pddf = pd.read_clipboard()df
The copied dataset gets passed into the variable df and is now available in your environment. Below is a GIF that demonstrates the process clearly.
In case 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,Discount0,1,Apparels,16.448,2,0.21,2,Electronics,65.0,87,0.22,3,Cosmetics,272.736,3,0.23,4,Apparels,3.54,2,0.84,5,Electronics,19.536,3,0.25,6,Cosmetics,19.44,3,0.06,7,Grocery,12.78,3,0.07,8,Grocery,2573.82,9,0.08,9,Apparels,609.98,2,0.09,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
We get the same dataframe as in Step 1. We just had to pass in the name of the columns and information about the header and index column.
You can also copy the data from any source, including a web page, as long as it is structured in the form of a dataframe. Here is an example of copying data from a StackOverflow example and importing it into a dataframe.
We can use the clipboard data to save the dataset 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')
Now that you’ve learned about the read_clipboard method, you’ll definitely want to try it out. I’m sure if you like creating data-related tutorials, this will come in handy. You can also check out other blogs that I have written on pandas’ 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.