我需要从docx文件中提取文本的特定部分(如果bla bla the bla bla bla bla(。
我正在与python-docx合作,但我有一些问题。
我能够从IF开头打印行,但我无法提取其余的关注。
示例:在DOCX文件中有:
bla bla text bla bla如果此信号1处于打开状态,则做其他事情和其他事情。bla bla text bla如果signal2关闭,那么什么也不做任何其他射击警长。bla bla bla
我要提取:
-
如果此信号1正在打开,则做其他事情会做其他事情。
-
如果Signal2关闭了
我以这种方式工作:
import readDocx
def main():
text = readDocx.getText('prova.docx')
for line in text.splitlines():
line = line.strip()
if line.startswith("IF"):
print (line)
if __name__ == "__main__":
main()
其中 readDocx
是这样的另一个python文件:
import docx
def getText(filename):
doc = docx.Document(filename)
fullText = []
for para in doc.paragraphs:
fullText.append(para.text)
return 'n'.join(fullText)
使用正则表达式:
import readDocx,re
#omitting lines...
pattern = re.compile(r"if (.+).")
for line in text.splitlines():
if pattern.search(line):
print(pattern.search()[0])