首先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)