PackageNotFoundError: Package not found at ‘*.doc’

我通過python-docx讀取一個docx文件,路徑確認無誤的情況下,還是報錯了。上代碼:

from docx import Document

path = "E:\\Python\\project\\pro1\\fafa.docx"
doc = Document(path)
for para in doc.paragraphs:
    print(para.text)

for i in range(len(doc.paragraphs)):
    print(str(i), doc.paragraphs[i].text)

tbs = doc.tables
for tb in tbs:
    for row in tb.rows:
        for cell in row.cells:
            print(cell.text)

上錯誤:

我的這個fafa.docx文件是通過win32com把doc轉化爲docx的,一直報這個錯。

後來我自己通過WPS創建了一個docx,空的,繼續運行這個代碼,依然報錯,我在這個文件中寫了幾個字,再次運行,成功了。

難道是我通過doc轉化成的docx不識別?

先把轉化的代碼貼上來,找找錯誤:

# encoding=utf-8

from win32com import client as wc

w = wc.gencache.EnsureDispatch('kwps.application')
doc = w.Documents.Open(r"E:\Python\project\pro1\lala.doc")
doc.SaveAs2(r"E:\Python\project\pro1\fafa.docx", 16) # 問題出在這

其實問題就出在最後一行的第二個參數16上,16代表的存儲格式爲doc,我應該改成12,12代表的是轉存的格式爲docx。修改成12後,python-docx就能讀取文件了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章