Tabla de lectura Contet en encabezado y pie de página en archivo MS-Word usando Python
python-2.7 pywin32 (2)
Esta es mi pregunta extendida para la pregunta:
Cómo leer los contenidos de una tabla en un archivo MS-Word usando Python?
La solución proporcionada por @YusuMishi es genial, pero no capta los encabezados en el encabezado y el pie de página.
Permítanme dar más detalles sobre eso:
Usando el código
import win32com.client as win32
import os
word = win32.Dispatch("Word.Application")
word.Visible = 0
p = os.path.abspath("Catch my tables.docx")
word.Documents.Open(p)
doc = word.ActiveDocument
print doc.Tables.Count
Me imprimiré 2
( Table 1
y Table 2
)
¿Cómo reviso la información en la Table 0
y la Table N
Acceder a encabezados y pies de página es un poco complicado. Aquí está cómo hacerlo:
HeaderTable = doc.Sections(1).Headers(1).Range.Tables(1)
FooterTable = doc.Sections(1).Footers(1).Range.Tables(1)
Puedes obtener el conteo de la mesa de esta manera:
HeaderTablesCount = doc.Sections(1).Headers(1).Range.Tables.Count
FooterTablesCount = doc.Sections(1).Footers(1).Range.Tables.Count
Y obtenga el texto de las celdas de esta manera:
HeaderTable.Cell(1,1).Range.Text
FooterTable.Cell(1,1).Range.Text
Lamentablemente, no soy programador de phyton , pero tengo cierto conocimiento de la jerarquía de VBA y objetos de MS-Word. Esto sería mucho texto para poner en comentario (donde preferiría poner este consejo).
Si busca en su tabla, debe analizar diferentes Document.StoryRanges
para encontrar su tabla. Hay Footers
y Headers
pero también están divididos en diferentes tipos. Entonces, para encontrar la Tabla 0, podría usar algo de esta estructura:
This is VBA code!! I hope you could adjust to your needs. And do it separately for you footers.
doc.StoryRanges(wdEvenPagesHeaderStory).Tables.Count
doc.StoryRanges(wdFirstPageHeaderStory).Tables.Count
doc.StoryRanges(wdPrimaryHeaderStory).Tables.Count