首先python是不能直接讀寫doc格式的文件的,這是python先天的缺陷。但是可以利用python-docx (0.8.6)庫可以讀取.docx文件或.txt文件,且一路暢通無阻。
這樣的話,可以先將doc格式轉化為docx格式,但是不能直接修改文件名的后綴(這樣文件會被損壞,即使沒被損壞可能也是亂碼),那到底要怎么去轉化呢?
直接上代碼:
from win32com import client as wc
word = wc.Dispatch("Word.Application")
doc = word.Documents.Open(路徑+名稱.doc)
doc.SaveAs(路徑+名稱.docx, 12) 12為docx
doc.Close()
word.Quit()
然后讀取docx格式
讀取段落:
import docx
docStr = Document(docName) 打開文檔
for paragraph in docStr.paragraphs:
parStr = paragraph.text
讀取表格:
numTables = docStr.tables
for table in numTables:
#行列個數
row_count = len(table.rows)
col_count = len(table.columns)
for i in range(row_count):
row = table.rows[i].cells
i行j列內容:row[j].text
或者:
row_count = len(table.rows)
col_count = len(table.columns)
for i in range(row_count):
for j in range(col_count):
print(table.cell(i,j).text)