这个功能的目的在于将word文档的内容读出来后,用jieba分词库,找出基于
TF/IDF权重最大的关键词。
难点在于一些解码问题和对word文档打开过程中一些异常的捕捉,目前为止还有一些异常捕捉不到,想到一个比较暴力的想法就是,每次打开word时,监听时间,超过规定时间则把这个word删除或者别的处理。但是还没有实现。
下面,上读取代码
def new_open_word(file_path):
msword = Dispatch('Word.Application')
msword.Visible = 0
msword.DisplayAlerts = 0
try:
doc = msword.Documents.Open(FileName=file_path )
doc.SaveAs('C:/TEST/3.txt',4);
doc.Close()
except:
return " "
content = open('C:/TEST/3.txt').read()
content = content.replace(" ","").replace("\n","")
try:
content = unicode(content, 'gbk')
except UnicodeDecodeError:
return " "
else:
content = re.findall(ur"[\u4e00-\u9fa5]+",content)
return ''.join(content)