Extraer datos de MS Word con pywin32

Estoy ejecutando python 3.3 en Windows y necesito sacar cadenas de documentos de Word. He estado buscando por todo el mundo durante una semana el mejor método para hacerlo. Al principio intenté guardar los archivos .docx como .txt y analizarlos mediante el uso de RE, pero tuve algunos problemas de formato con los caracteres ocultos. Estaba usando un script para abrir un archivo .docx y guardarlo como .txt. Me pregunto si hice un Archivo> Guardar como> .txt adecuado. ¿Desaparecería el formateo extraño y luego podría analizarlo correctamente? No lo sé, pero renuncié a este método.

Traté de usar elmódulo docx pero me han dicho que no es compatible con Python 3.3. Así que me quedo con el uso de pywin32 y el COM. Lo he utilizado con éxito con Excel para obtener los datos que necesito, pero tengo problemas con Word porque hay MUCHA documentación y menosleyendo a través del modelo de objetos en el sitio web de Microsoft está sobre mi cabeza.

Aquí está lo que tengo hasta ahora para abrir el (los) documento (s):

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)

Así que en este punto puedo hacer algo como

print(doc.Content.Text) 

Y vea el contenido de los archivos, pero aún parece que hay algún formateo extraño allí y no tengo idea de cómo analizar realmente para capturar los datos que necesito. Puedo crear RE que encontrarán con éxito las cadenas que estoy buscando, simplemente no sé cómo implementarlas en el programa usando el COM.

El código que tengo hasta ahora fue encontrado principalmente a través de Google. Ni siquiera creo que sea tan difícil, es solo que leer el modelo de objetos en el sitio web de Microsoft es como leer un idioma extranjero. Cualquier ayuda es muy apreciada. Gracias.

Edición: código que estaba usando para guardar los archivos de docx a 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()

Respuestas a la pregunta(2)

Su respuesta a la pregunta