【问题标题】:Copying a table into the clipboard将表格复制到剪贴板
【发布时间】:2020-02-06 02:20:17
【问题描述】:

假设我们有一个 Python 结构来表示一个表(无论哪个,例如列表的列表)。

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

【问题讨论】:

  • 只是猜测,但在 Mac 上,我想您可以在子进程中启动 pbcopy 并将您的数据通过管道传输给它...
  • 非常感谢!问题更关注于如何将表格复制到剪贴板,而不是任何字符串。

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


【解决方案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()

【讨论】:

  • 感谢您的明确答复!这很简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 2019-02-03
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多