Извлечение данных из MS Word с помощью pywin32

Я использую Python 3.3 в Windows, и мне нужно извлечь строки из документов Word. Я около недели искал лучший способ сделать это. Первоначально я пытался сохранить файлы .docx как .txt и проанализировать с помощью RE 's, но у меня были некоторые проблемы с форматированием со скрытыми символами - я использовал скрипт, чтобы открыть .docx и сохранить как .txt. Мне интересно, правильно ли я сделал File>Примерчик>.txt это исключило бы странное форматирование, и тогда я мог бы правильно разобрать? Я неНе знаю, но я отказался от этого метода.

Я пытался использоватьмодуль docx но я'Мне сказали, что это не совместимо с python 3.3. Так что я остался с использованием pywin32 и COM. Я успешно использовал это в Excel, чтобы получить нужные мне данные, но у меня проблемы с Word, потому что документации на FAR меньше ичтение через объектную модель на Microsoft 'Сайт у меня над головой.

Вот что у меня есть, чтобы открыть документ (ы):

import win32com.client as win32
import glob, os

word = win32.gencache.EnsureDispatch('Word.Application')
word.Visible = True

for infile in glob.glob(os.path.join(r'mypath', '*.docx')):
    print(infile)
    doc = word.Documents.Open(infile)

Так что на данный момент я могу сделать что-то вроде

print(doc.Content.Text) 

И посмотрите содержимое файлов, но похоже, что там есть какое-то странное форматирование, и я понятия не имею, как на самом деле анализировать, чтобы получить нужные мне данные. Я могу создать RE 's, которые успешно найдут строки, которые яищу, я просто нене знаю, как внедрить их в программу с помощью COM.

Код, который у меня есть, был в основном найден через Google. Я недаже не думаю, что это так сложно, этоЭто просто чтение объектной модели в MicrosoftСайт похож на чтение иностранного языка. Буду признателен за любую оказанную помощь. Спасибо.

Изменить: код, который я использовал, чтобы сохранить файлы из DOCX в TXT:

for path, dirs, files in os.walk(r'mypath'):
    for doc in [os.path.abspath(os.path.join(path, filename)) for filename in files if fnmatch.fnmatch(filename, '*.docx')]:
        print("processing %s" % doc)
        wordapp.Documents.Open(doc)
        docastxt = doc.rstrip('docx') + 'txt'
        wordapp.ActiveDocument.SaveAs(docastxt,FileFormat=win32com.client.constants.wdFormatText)
        wordapp.ActiveDocument.Close()

Ответы на вопрос(2)

Ваш ответ на вопрос