Копирование таблицы в буфер обмена - PullRequest
0 голосов
/ 08 октября 2019

Предположим, у нас есть структура Python, представляющая таблицу (в зависимости от того, например, список списков).

Существует ли элегантный способ программно скопировать эту структуру в буфер обмена, чтобы ее можно было правильно вставить кактаблица, например, в Microsoft Word или Excel? Я предпочитаю портативное решение, иначе будут признательны за конкретные решения для MacOS, Linux и Windows.

1 Ответ

1 голос
/ 08 октября 2019

Чтобы скопировать таблицу в виде списка списков в буфер обмена, сначала преобразуйте ее в строку, объединяя значения с вкладками и строки с новыми строками:

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

Есть несколько способов скопировать это в буфер обмена. Вот кроссплатформенный метод, использующий tkinter на основе этого ответа :

from tkinter import Tk

r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append(result)
r.update()
r.destroy()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...