想写一个读取doc文档中表格数据,来对文档进行重命名。经查资料,py-docx无法读取doc文档,原因是这种是旧格式。所以,采用pywin32来进行读取。
import win32com.client as win32
word = win32.gencache.EnsureDispatch('Word.Application',)
word.Visible = 0
Ndoc = word.Documents.Add()
doc = word.Documents.Open(file_path)
for t in doc.Tables:
for row in t.Rows:
for cell in row.Cells:
print(cell.Range.Text)
一运行,结果都是一个框一个框:

以为是编码出了问题,在网上找了原因,gbk/utf-8/utf-16,甚至iso-8859-1各种encode/decode,发现能输出一些字符。无奈一decode都是无果。


本文介绍了使用pywin32库读取旧版doc文档遇到的输出乱码问题。在尝试多种编码解码方式无效后,通过分析错误信息发现是
x07等转义符号导致的异常。最终通过删除这些转义符号解决了问题,感叹人工智能在问题解决上的帮助。
最低0.47元/天 解锁文章
977

被折叠的 条评论
为什么被折叠?



