Python MS Word

Возможный дубликат:
Чтение / запись файлов MS Word в Python

Я изучаю систему управления требованиями (например, requiste pro – Rational Rose) – и вам нужно будет прочитать документ MS Word для поиска определенных тегов – в среде Windows или Apple OS. Существуют ли какие-либо известные рамки для этого (я не мог найти их) – или предлагаемые подходы?

Просто добавим некоторые пояснения – это не будет разовое чтение, я бы рассмотрел документ каждый раз, когда есть обновление для него, и выполнить CRUD в определенных областях требований.

6 Solutions collect form web for “Python MS Word”

Сначала извлеките его из родного формата Word ( .doc ).

  • Сделайте «Сохранить как XML» и настаивайте, чтобы ваши пользователи работали с этим файлом, а не с файлом .doc . Они вряд ли заметят разницу – за исключением того, что файл больше.

    Используйте lxml или дерево элементов для анализа XML и найдите заголовки, разделы, абзацы и списки.

  • Вы также можете сделать «Сохранить как HTML», прежде чем выполнять свой анализ. Это работает так же хорошо, как и версия XML. Однако HTML-версия не так проста для пользователей, поэтому сделайте это только до вашего анализа.

    Используйте Beautiful Soup для анализа HTML и поиска заголовков, разделов, абзацев и списков.

Когда у вас есть структура синтаксического анализа (XML или HTML), вы можете анализировать документ, ищущий определенные теги.

Вы можете опираться на способность openoffice.org читать документы Word. Мост Python-UNO позволяет использовать стандартный OpenOffice.org API с языка сценариев python. Используя Python-UNO и имеющие соответствующие части openoffice на вашем компьютере, должно быть легко читать большинство документов Word.

Используя Visual Studio Tools for Office (VSTO) , можно выполнить сценарий Word с любого языка .NET . Пример « Поиск текста в документах» показывает код C# и Visual Basic , но IronPython также может вызывать те же методы .NET .

Если вы готовы использовать IronPython (без эквивалента Mac), это может быть специальным решением Windows для поиска внутри документов Word .

Предполагая, что вы на окнах и у вас установлен Word, вы можете управлять Word изнутри python с помощью COM – см. Python для win32. В Linux вы можете сделать то же самое с OpenOffice.

В качестве альтернативы есть набор экстракторов строк для Word для win32 или Linux, тогда вы можете использовать обычные инструменты регулярного выражения python.

См. Этот вопрос, извлекая текст из текстовых файлов MS в python

Если у вас есть немного денег, вы можете купить API-интерфейс Aspose.Word s. С его помощью вы можете программно получать доступ и манипулировать любым документом Word

Я знаю, что это вопрос Python, но …

В Windows вы должны использовать VBScript (VBA Macros) и OLE для программного доступа к Word.

Примеры | Практические советы | Автоматизация Word с использованием OLE

В MacOSX вы используете VBA для более старых версий и AppleScript для Office 2008.

Статья

С VBA у вас есть выбор либо изменить документ на месте, либо выполнить автоматическое «Сохранить как», чтобы получить данные в более удобном для пользователя формате (хотя следует предупредить, что его экспорт HTML является ужасным).

Я настоятельно рекомендую держаться подальше от сторонних библиотек / продуктов для этого, даже если вам не нравится vbscript. Формат слишком сложный, недокументированный и непоследовательный для точной внешней обработки. StarOffice / OpenOffice является доказательством этого. Они много лет стараются и не имеют точного анализа .doc, не говоря уже о .docx. Да, он работает в целом, но вы запускаете неподдающийся риску манипулирование документами, как только вы начинаете пытаться программировать их вне Word. Вы должны иметь возможность вызывать VBscript из Python с помощью os.system. Я думаю, что интерпретатор wscript.exe, но не держите меня в этом. Это может сработать:

 os.system('start script.vb') 
  • Печать в Duplexpage текстового документа
  • Возможно ли вставить страницу в документ Word с помощью python-docx?
  • Как читать содержимое таблицы в файле MS-Word с помощью Python?
  • Запись фрейма данных pandas в таблицу документов Word через pywin32
  • Чтение табличного контура в верхнем и нижнем колонтитуле в файле MS-Word с использованием Python
  • MS Word r / w в python, проблема Python-docx и ссылки win32com?
  • Странное поведение Pywin32 при использовании слова
  • При получении объекта Document из объекта Word.Application его члены не заполняются из кеша gencache, в то время как VBSEdit может их получить
  • Извлечение данных из MS Word с помощью pywin32
  • Поиск в Google с помощью Python
  • Как создать документ Word с помощью Python?
  • Python - лучший язык программирования в мире.