python读取doc/docx文件

仅此记录python读取doc/docx文件的方法,和常用简单的open txt文件完全不同(版本python 3.6   Win10)

docx

使用docx包,python为其专用接口,python-docx,使用

pip install python-docx

安装即可,本人第一次在pycharm直接安装,出现了关于版本报错的问题,后来直接使用pip安装成功,简单使用如下:

import docx
path = "append/***.docx"
file = docx.Document(path)
for p in file.paragraphs:
    print(p.text)

同时,对于文档,要通过每一段来获取内容,不能直接输出file得到文本内容

doc

查看了网上的各种方法,大部分还是接受将doc文件强制另存为docx文件(使用代码转换,而不是直接修改后缀),在读取即可,需要另外安装win32com模块,注意就是直接使用 pip install win32com 安装不成功,需要用

python -m pip install pypiwin32

即可,简单使用如下

import docx
import win32com.client as wc

#doc文件另存为docx
word = wc.Dispatch("Word.Application")
doc = word.Documents.Open(r"F:\\***\\***\\append\\***.doc")
#上面的地方只能使用完整绝对地址,相对地址找不到文件,且,只能用“\\”,不能用“/”,哪怕加了 r 也不行,涉及到将反斜杠看成转义字符。
doc.SaveAs(r"F:\\***\\***\\appendDoc\\***.docx", 12, False, "", True, "", False, False, False, False)#转换后的文件,12代表转换后为docx文件
#doc.SaveAs(r"F:\\***\\***\\appendDoc\\***.docx", 12)#或直接简写
#注意SaveAs会打开保存后的文件,有时可能看不到,但后台一定是打开的
doc.Close
word.Quit

path = "appendDoc/***.docx"
file = docx.Document(path)
for p in file.paragraphs:
    print(p.text)

在想办法如何可以在保存的时候不打开docx文件,查看了SaveAs的参数,但还没有发现结果。。。希望各位大佬哪位知道可以解惑

pdf

没有具体实现了解,只当看了下,需要安装库 pdfminer 使用

你可能感兴趣的:(python读取doc/docx文件)