Автоматизировать вставку (Ctrl + v), кроме использования pyauto gui? - PullRequest
0 голосов
/ 09 января 2020

Есть ли другой способ, кроме использования pyautogui, чтобы Python вставить из буфера обмена ( ctrl + v ) в новом или существующем Файл .xlsx?

Вывод из другого ранее запущенного приложения сохраняется в буфере обмена.

Все работает нормально, когда я вручную открываю книгу и вставляю данные, я просто хочу автоматизировать ее.

Ответы [ 2 ]

0 голосов
/ 13 января 2020

( Этот ответ был скопирован из редактора OP, который добавил "SOLVED" в вопрос )

Мне удалось решить эту проблему с помощью Get-Clipboard> filename.csv с помощью Windows PowerShell.

0 голосов
/ 09 января 2020

Вы можете извлечь строку из буфера обмена, используя pyperclip:

Цель Pyperclip - предоставить кроссплатформенный модуль Python для копирования и вставки текст в буфер обмена.

... Чтобы вставить текст из буфера обмена, вызовите pyperclip.paste(), и текст будет возвращен в виде строкового значения.

import pyperclip
pyperclip.paste()

Так как теперь это строка, вы можете использовать любую из существующих библиотек Excel на основе Python, чтобы поместить эту строку в вашу книгу (или любые библиотеки ввода-вывода файлов, если она не указана c для файлов Excel).

Вот пример использования openpyxl (в основном на основе Простое использование - напишите пример рабочей книги из openpyxl документов):

import pyperclip
from openpyxl import Workbook

# Create a new workbook
wb = Workbook()
wb_filename = "example.xlsx"

# Create a new sheet
ws = wb.create_sheet(title="example")

# Paste the contents to this new sheet
# Here, let's just paste into cell A1
ws["A1"] = pyperclip.paste()

# Finally save the workbook
wb.save(filename=wb_filename)
...