Вставка из внешней программы в файл Excel - PullRequest
0 голосов
/ 13 ноября 2018

Извиняюсь, если на этот вопрос ответили - я только что провел последний час или около того в поисках определенного метода и не смог его найти.

Я получаю данные из программы отчетов с помощью эмуляции клавиатуры с помощью pynput -в программе есть специальные меню для копирования данных и выбора того, что на самом деле копируется.

Мне удалось скопировать данные в буфер обмена, а затем вызвать openpyxl для загрузки выбранной книги.Что я не могу понять, как это сделать, так это как выбрать конкретную ячейку, а затем вставить уже скопированные данные, начиная с этой ячейки.

Параметры копирования из программы отчетов копируют данные вспособ, которым будет вставляться в Excel правильно (ячейка за ячейкой), поэтому я знаю, что он не будет пытаться вставить все данные в одну ячейкуЯ просто не могу определить правильный метод, чтобы выбрать ячейку и вставить ее.

Заранее благодарен за любую помощь.

Как примечание, я НЕВЕРОЯТНО новичок в Python - яЯ хорошо разбираюсь в VBA, но я пытаюсь разветвляться, поэтому я прошу прощения, если я сказал что-то неправильно.

1 Ответ

0 голосов
/ 13 ноября 2018

Имея данные, уже скопированные в буфер обмена, вы можете использовать Python DataFrames для Python для их обработки.Ниже приведен метод, который принимает данные, скопированные из буфера обмена, и преобразует их в DataFrame.

pandas.read_clipboard(sep='\\s+', **kwargs)

Теперь вы можете выбрать любой столбец из DataFrame, который вы хотите, и с помощью метода to_csv вы можете записать в файл Excel.

DataFrame.to_csv()

Ознакомьтесь с документацией:

read_clipboard () - https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_clipboard.html

to_csv () - https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html Пример кода:

import pandas as pd
data = pd.read_clipboard(sep='\\s+')
print(data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...