[自动化]使用Python操作剪贴板并将表粘贴到Excel中


我要操作剪贴板

剪贴板(英语:剪贴板)是计算机上的一个共享存储区,可以临时存储数据。
(来自维基百科)

您何时想在Python中操作剪贴板?您可能会认为。

例如,考虑这种情况。

我想将Python处理的数据框(表表)粘贴到Excel中。
如果此Excel文件在您的计算机上,则可以直接用Python编写它,但是由于它在公司的服务器上,因此很难直接从Python访问它。

在这种情况下,将数据框一次复制到剪贴板,然后手动打开并粘贴相应的Excel文件非常方便。

用pyperclip

操作剪贴板

使用名为pyperclip的模块将其复制到剪贴板或从剪贴板粘贴。

这个pyperclip非常简单,pyperclip.copy()pyperclip.paste()几乎所有内容。

pyperclip.png

<表格>

操作

函数


<身体>

复制到剪贴板

pyperclip.copy()

从剪贴板粘贴

pyperclip.paste()


如何制作剪贴板以表格格式粘贴到Excel

例如,如果您在Excel中复制表格并将其粘贴到Excel中的其他位置,则该表格将是正确的表格。

这很明显,但是您感到有些奇怪吗?
剪贴板如何保存这种"表格格式"?

让我们检查一下。
我有一个像下面这样的Excel表。

pyperclip_excel_before.png

将此表的A1到E6复制到带有Crtl C的剪贴板中。
然后,接下来,在Python中执行以下操作以检查剪贴板的内容。

1
2
3
import pyperclip

pyperclip.paste()

执行结果

1
'大井竹雄\tオオイタケオ\t男\t1960/8/30\t千葉県\r\n長井恵子\tナガイケイコ\t女\t1999/5/21\t高知県\r\n茂木美香\tモギミカ\t女\t1989/3/27\t埼玉県\r\n那須貴子\tナスタカコ\t女\t1981/9/29\t広島県\r\n杉浦昭一\tスギウラショウイチ\t男\t1991/10/31\t兵庫県\r\n'

您可以看到下一行由制表符(\\\\ t)分隔,而下一行由换行代码(\\\\\\ n)分隔。

clipboard2excel.png

换句话说,创建一个由制表符(\\\\ t)和换行代码(\\\\\\ n)分隔的字符串,使用pyperclip.copy()将其复制到剪贴板,然后按CtrlV。您可以将其以表格格式粘贴到Excel中。

开始吧。

如下执行,然后将要粘贴的字符串复制到剪贴板。

1
pyperclip.copy("佐々木茂\tササキシゲル\t男\t1964/2/13\t和歌山県\r\n三田かなえ\tミタカナエ\t女\t1979/10/1\t秋田県\r\n")

然后打开Excel并将其粘贴...
pyperclip_excel_after.png

您可以将其正确粘贴为表格!