如何读取和处理DOCX文件中表格的每个单元格的内容?
我在Windows 7和PyWin32上使用Python 3.2来访问MS-Word文档。
我是一个初学者,所以我不知道访问表格单元格的正确方法。到目前为止,我只是这样做:
import win32com.client as win32 word = win32.gencache.EnsureDispatch('Word.Application') word.Visible = False doc = word.Documents.Open("MyDocument")
这是在Python 2.7中对我有效的方法:
import win32com.client as win32 word = win32.Dispatch("Word.Application") word.Visible = 0 word.Documents.Open("MyDocument") doc = word.ActiveDocument
要查看您的文档有多少张表:
doc.Tables.Count
然后,您可以通过索引选择所需的表。请注意,与python不同,COM索引从1开始:
table = doc.Tables(1)
要选择一个单元格:
table.Cell(Row = 1, Column= 1)
要获取其内容:
table.Cell(Row =1, Column =1).Range.Text
希望这会有所帮助。
编辑:
一个根据标题返回Column index的函数示例:
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