假设我们有一个表示表的Python结构(以哪个为准,例如列表列表)。
是否有一种优雅的方法可以通过编程将该结构复制到剪贴板中,以便可以正确地将其粘贴为表,例如在Microsoft Word或Excel中?我正在寻找一个便携式的解决方案,否则具体的解决方案为MacOS,Linux和Windows将不胜感激。

最佳答案

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

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()

关于python-3.x - 将表格复制到剪贴板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58292394/

10-11 22:47