вставка в excel с помощью python



Когда я вручную вставляю текст веб-сайта с таблицами в excel, таблицы сохраняют размещение и затенение ячеек. Попытка сделать то же самое с пакетами excel, такими как xlsxwriter, позволяет мне вставить весь текст в одну ячейку. Есть ли способ обойти это?

673   1  

1 ответ:

Буфер обмена и вставка на самом деле гораздо сложнее, чем вы могли бы подумать как пользователь, и их поведение может быть очень специфичным для приложения, как в конце копирования, так и в конце вставки. Это хорошо для пользователей, потому что это означает, что вы можете получить хорошие преобразования, такие как тот, который вы видите из таблицы html в Excel.

Когда что-то копируется в буфер обмена, приложение copied-from может (если захочет) предоставить несколько различных форматов (например, raw text, rtf-форматированный текст, и т.д.). По-видимому, при копировании из Microsoft Word он пуит все, что вы скопировали в буфер обмена в 13 различных форматах-см. https://code.google.com/p/clipboardviewer/.

При вставке получающее приложение может выбрать один из доступных форматов и, конечно, может дополнительно обрабатывать любой выбранный формат. Таким образом, между вашим браузером и excel, возможно, в конце Excel, что-то распознает, что источником является таблица, и хорошо обрабатывает html. Вы не используете копирование / вставку, поэтому я боюсь, что вам придется реализовать обработку html самостоятельно-поместить необработанный текст в целевую ячейку (а ячейки ниже / справа) - это легкий бит, вам также придется написать код для извлечения и применения форматирования текста, цвета ячейки, выравнивания текста и т. д. Я не знаю, возможно ли это, но если вы можете заставить его работать, было бы неплохо использовать python для автоматизации операций копирования/вставки графического интерфейса, поэтому копирование/вставка работает так, как если бы вы нажимали клавиши вручную.

Comments

    Ничего не найдено.