1. 程式人生 > >python讀取word

python讀取word

這個功能的目的在於將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)