Here is what works for me in Python 2.7:
import win32com.client as win32
word = win32.Dispatch("Word.Application")
word.Visible = 0
word.Documents.Open("MyDocument")
doc = word.ActiveDocument
To find out how many tables your document has:
doc.Tables.Count
Then you can select the desired table by its index. Note that, unlike python, COM indexing starts at 1:
table = doc.Tables(1)
To select a cell:
table.Cell(Row = 1, Column= 1)
To get its contents:
table.Cell(Row =1, Column =1).Range.Text
Hope this helps.
EDIT:
An example of a function that returns the index of a column based on its header:
def Column_index(header_text):
for i in range(1 , table.Columns.Count+1):
if table.Cell(Row = 1,Column = i).Range.Text == header_text:
return i
, , :
table.Cell(Row =1, Column = Column_index("The Column Header") ).Range.Text