2017-04-05 12 views
0

私はPythonには新しく、Word文書の抽象名詞を検索して強調表示するコードを作成しています。私は、.txtドキュメントのすべての抽象的な名詞を見つけるために正常にプログラムしましたが、その単語を.docx形式で強調表示するコードは見つかりませんでした。私の研究で見つけることができる唯一の結果は、コード構文を強調することです。または、関連する検索結果のコードがプログラムのエラーを出力します。たとえば、add_runを持つものは、属性がないというエラーを返します。Pythonには、Microsoft Word文書の特定の単語(コード構文ではない)を強調するコードはありますか?

これが私の現在の作業コードです:

import re 
import os 

source = open('title.txt') 
text = source.read() 

ment = re.findall(r'\w*ment+\w*', text) 
ity = re.findall(r'\w*ity+\w*', text) 
tion = re.findall(r'\w*tion+\w*', text) 
age = re.findall(r'\w*age+\w*', text) 
ance = re.findall(r'\w*ance+\w*', text) 
ence = re.findall(r'\w*ence+\w*', text) 
dom = re.findall(r'\w*dom+\w*', text) 
ery = re.findall(r'\w*ery+\w*', text) 
ry = re.findall(r'\w*ry+\w*', text) 
ism = re.findall(r'\w*ism+\w*', text) 
ness = re.findall(r'\w*ness+\w*', text) 
hood = re.findall(r'\w*hood+\w*', text) 

nominalizations = ment, ity, tion, age, ance, ence, dom, ery, ry, hood, ism, 
ness 

import docx 
from docx import Document 
from docx.text.run import Font 
from docx.text.run import Run 
from docx.enum.text import WD_COLOR_INDEX 

doc = docx.Document('title.docx") 

答えて

0

使用のpython-のdocxライブラリですか?多分あなたは文書を読む必要がありますhttp://python-docx.readthedocs.io/en/latest/api/text.html#paragraph-objects

IMHO最も簡単な方法はCOMオブジェクトとしてWordを使用します。例:

msword = win32com.client.Dispatch('Word.Application') 
msword.Visible = 0 
path = "C:\\temp\\" 

try: 
    files = os.listdir(path) 
    emailfile = open(os.path.join(path, 'emaillist.txt'), 'w') 
    compreg = re.compile('([\w\-\.][email protected](\w[\w\-]+\.)+[\w\-]+)', re.IGNORECASE) 
    for i in range(0, len(files)): 
     filename = os.path.join(path, files[i]) 
     doc = msword.Documents.Open(filename) 
     emails = re.findall(p, doc.Content.Text) 
     if emails: 
      for email in emails: 
       emailfile.write(email) 
       emailfile.write() 
     print ("[%d] %s DONE" % (i, filename)) 
     doc = msword.Documents.Close() 
except ... 
    # process all exceptions here 
finally: 
    msword.Quit() 
関連する問題