该read_clipboard()
方法读取系统剪贴板中的文本并将其传递给read_csv()
返回数据帧的系统。
该方法在内部使用pandas.compact.clipboard
模块。
该模块用于对剪贴板进行任何操作。它提供了处理不同操作系统中剪贴板的兼容性功能。
另请阅读:Pandas read_csv():将 CSV 文件读入 DataFrame
什么是剪贴板?
剪贴板是几乎所有操作系统都提供的缓冲区,用于应用程序之间的短期存储和传输。它通常是未命名的,其内容存储在计算机的 RAM 中。
剪贴板用于临时存储复制的数据(文本、图片),直到复制新数据或系统关闭时数据保持原样。
如何查看剪贴板历史记录?
对于 Windows
查看剪贴板历史记录的快捷方式是Windows+V。
对于苹果机
可以在Finder->Edit->Show Clipboard中查看剪贴板。
Read_clipboard 的先决条件
- Pandas 是一个用于处理数据集的 Python 库。它有许多用于清理、探索和操作数据的内置函数
- 要读取或写入任何数据格式,您的系统中必须安装 python IDE 和 Pandas 库
- 这是安装 Pandas 库的方法
- 对于 Windows:
- 启动命令提示符
- 输入以下命令
pip3 install pandas
- 对于Ubuntu:
- 打开终端
- 先输入命令安装python
sudo apt install python3-pip
- 输入命令安装pandas
pip3 install pandas
- 对于 Mac 操作系统:
sudo pip3 install pandas
- 对于 Windows:
安装 Pandas 库后,您可以将任何存储格式转换为 DataFrame。
从剪贴板读取数据
该read_clipboard()
方法将剪贴板中的文本作为输入并将其转换为字符串,然后将其作为输入传递给函数read_csv()
。
其语法read_clipboard()
如下:
pandas.read_clipboard(sep = '\\s+' , * * kwargs) |
语法中的参数为:
sep:此参数应该是字符串或正则表达式。
默认值为“s+”,表示存在一个或多个空白字符。
**kwargs: kwargs 代表关键字参数。此参数用于将其他参数传递给该read_csv
方法。这些参数将被解释为键值对,并可用于自定义方法的行为。
返回类型:
已解析的 DataFrame 对象。
剪贴板中存储的数据可以有多种类型。
在这篇文章中,我们将看到read_clipboard()
以下内容的工作原理:
- Excel 数据。
- 来自网站或网页的数据。
- 文本数据。
将 Excel 数据复制到剪贴板。
在此示例中,我们将复制 Excel 数据并将其传递到read_csv()
.
让我们从简单的 Excel 数据开始。
Excel 文件包含三行:姓名、年龄、ID 和三个条目。
该数据被复制到系统的剪贴板。
从剪贴板读取此数据的代码如下:
1
2
3
|
import pandas as pd df = pd.read_clipboard() print (df) |
import pandas as pd
:我们使用此语句将 Pandas 库引入我们的环境。该名称pd
是该库的标准别名。
该方法正在读取剪贴板图像(上图)中的数据read_clipboar()
,并将其存储在名为 df 的对象中。
在下一行中,我们将打印创建的数据框。
获得的数据框如下所示。
现在我们有了一个数据框,我们需要将其传递给以read_csv
CSV 格式存储数据的方法。
但在此之前,我们需要首先使用to_csv
方法将上述数据框转换为 CSV。
1
2
3
|
df.to_csv( 'data.csv' ,index = False ) df = pd.read_csv( 'data.csv' ,index_col = [ 0 ]) df.head() |
在第一行中,我们使用“index=False”来防止在文件开头创建额外的未命名列。
在第二行中,“index_col=[0]”也具有相同的目的。
df.head()
:该方法用于打印文件的前五行。它在较小尺寸的数据集中可能没有用。
CSV 文件存储在本地存储中。
现在我们已经了解了read_clipboard()
工作原理,让我们尝试一些复杂的 Excel 数据。
考虑员工数据集。
这个数据集有数百条数据,但我们只取了几行。
它具有许多重要属性,例如全名、部门、职位、雇用日期、年薪等。
下面给出了从剪贴板读取的代码。
1
2
3
4
5
6
7
|
import pandas as pd #reading the content from the clipboard df = pd.read_clipboard() #printing the data print (df.head()) df.to_csv( 'df.csv' ,index = False ) df = pd.read_csv( 'df.csv' ) |
在第一行中,我们将 Pandas 库导入为 pd。
在下一行中,我们将复制到剪贴板的数据存储在名为 df 的新变量中。
接下来,我们使用打印数据框的前几行df.head
在下面的行中,我们借助 的帮助将数据框转换为 CSV 文件to_csv
。
我们用来read_csv
读取新创建的 CSV 文件。
得到的数据框如下图所示。
的输出to_csv()
是下面给出的逗号分隔值格式。
从输出中观察到,数据帧具有许多 NaN 值。现在我们有了一个数据框,我们可以执行必要的操作并获得更具可读性的格式。
在处理数据帧时,有时具有 NaN 值可能是一个问题。这是一篇描述如何在 python 中用零替换 NaN 值的文章。
将数据从网站复制到剪贴板
在此示例中,让我们考虑从网页复制到剪贴板的学生数据集。
Student 表具有以下列:
- ID
- 姓名
- 班级
- 标记
- 性别
我们遵循上一个示例中使用的相同代码。
1
2
3
4
5
|
import pandas as pd dataf = pd.read_clipboard() dataf.to_csv( 'csv1.csv' ,index = False ) df = pd.read_csv( 'csv1.csv' ) df.head() |
复制到剪贴板的数据被读入第 2 行中名为 dataf 的变量中。
现在,该数据被转换为 CSV 文件to_csv
。
使用index=False 将防止在输出中创建未命名的列。
我们正在借助read_csv
.
df.head
用于打印文件的前五行。
输出如下所示。
逗号分隔值文件存储在本地存储区域中。
将纯文本复制到剪贴板
在第三个示例中,我们将把纯文本视为来自剪贴板的输入。
不支持纯文本read_clipboard()
,我们可以在文本中提供分隔符,以便函数支持它。
复制到剪贴板的文本是:
该代码与前面的示例中的代码相同。
1
2
3
4
5
|
import pandas as pd df = pd.read_clipboard(sep = '\t' ) print (df) df.to_csv( 'data.csv' ,index = False ) df = pd.read_csv( 'data.csv' ) |
从剪贴板读取纯文本的唯一区别是我们需要在方法的括号中提供分隔符或定界符。
在此代码中,我们提供的分隔符是“\t”,即制表符空格。
输出是以下数据帧。
最后,CSV文件如下。
结论
在这篇文章中,我们介绍了剪贴板是什么,如何查看剪贴板的历史记录,用于从剪贴板读取任何数据的方法,以及它内部用于执行这些操作的模块。
我们已经看到了如何将不同类型的数据复制到剪贴板(excel、表格、纯文本),并使用读取它,read_clipboard
然后将数据传递到read_csv
.
本文中使用的数据集
1.员工excel表
2.学生Excel表