2017-04-19 4 views
0

docxファイルからテキストの特定の部分(IF bla bla THEN bla bla ELSE bla bla)を抽出する必要があります。pythonのdocxファイルから "if then else"キーワード間の部分テキストを抽出する方法

私はpython-docxで作業していますが、いくつか問題があります。

私はIFで始まる行を印刷することができますが、残りの文字列を抽出することはできません。

例:DOCXファイル内にあります:

のbla blaがテキストのbla BLAはこの信号1が、その後何か他のものは、他と他のを行うのですか上にある場合。 bla bla text bla signal2がオフであれば、それ以外は何もしないでください。かくかくしかじか

私は抽出することになります。

  1. この信号1が、その後何か他のものは、他と他のを行うのですか上にある場合。

  2. 信号2がオフになっているならば、何も他の私は、このように働いている保安官

撃っていない操作を行います。

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) 

答えて

0

正規表現を使用:

import readDocx,re 
#omitting lines... 

pattern = re.compile(r"if (.+)\.") 

for line in text.splitlines(): 
    if pattern.search(line): 
     print(pattern.search()[0]) 
関連する問題