我正在尝试遍历docx表单元中的句子/段落,使用pywin32模块根据样式标签执行功能。
我可以使用cell = table.Cell(Row = 1, Column =2)
我尝试使用类似for x in cell:
#do something
的方法,但<class 'win32com.client.CDispatch'>
对象“不支持枚举”
[我尝试浏览:Word OM以找到解决方案,但无济于事(我知道这是针对VBA,但仍然非常有用)]
这是一个简单的示例,它从文档中第一张表的第一行/第一列中读取内容,然后逐字打印:
import win32com.client as win32
import os
wordApp = win32.gencache.EnsureDispatch("Word.Application")
wordApp.Visible = False
doc = wordApp.Documents.Open(os.getcwd() + "\\Test.docx")
table = doc.Tables(1)
for word in table.Cell(Row = 1, Column = 1).Range.Text.split():
print(word)
wordApp.Application.Quit(-1)
单元格的内容只是一个字符串,您也可以轻松地使用split('\r')
将其按段落拆分或将句子split('.')
对其拆分。