将表格复制到剪贴板

时间:2019-10-08 18:49:36

标签: python-3.x linux windows macos clipboard

假设我们有一个表示表(以列表为准)的Python结构。

是否有一种优雅的方法可以将该结构以编程方式复制到剪贴板中,以便可以将其正确粘贴为表格,例如在Microsoft Word或Excel中?我最好是在寻找一种便携式解决方案,否则,不妨针对MacOS,Linux和Windows的特定解决方案。

1 个答案:

答案 0 :(得分:1)

要将列表列表形式的表复制到剪贴板,请先通过将值与制表符连接在一起,并将行与换行符连接起来,将其转换为字符串:

table = [
            list(range(10)),
            list(range(11, 21)),
            list(range(21, 31)),
]

result = '\n'.join(['\t'.join(map(str, row)) for row in table])

print(result)

结果是:

0   1   2   3   4   5   6   7   8   9
11  12  13  14  15  16  17  18  19  20
21  22  23  24  25  26  27  28  29  30

有几种方法可以将其复制到剪贴板。这是基于this answer使用tkinter的跨平台方法:

from tkinter import Tk

r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append(result)
r.update()
r.destroy()