提取word文档中的字符

最近需要处理各种格式的文档提取字符,有关于word提取字符串记录一下遇到的问题,这里需要用到两个库:

  1. docx , 在终端按照下面的命令装就行了
!pip install python-docx
  1. win32com, 在终端按照下面的命令装就行了
!pip install win32com

docx可以直接处理docx文件,但是对于doc格式的文件需要转换一下,转换代码如下,其中fn是文件绝对路径,一定要绝对路径要不然word软件是没法存的 , 其次需要注意的是由于我电脑只装了wps,所以在下面的clinet.启动的是kwps.Application 如果你装了word 就启动word。

import docx
from win32com import client

def doc2docx(fn):
    word = client.DispatchEx('kwps.Application')  # 打开word应用程序
    doc = word.Documents.Open(fn)  # 打开word文件

    a = os.path.split(fn)  # 分离路径和文件
    b = os.path.splitext(a[-1])[0]  # 拿到文件名
    docx_path = "{}\\{}.docx".format(a[0], b)

    doc.SaveAs(docx_path, 12)  # 另存为后缀为".docx"的文件,其中参数12或16指docx文件
    doc.Close()  # 关闭原来word文件
    word.Quit()
    return docx_path

最后就利用docx直接提取里面的文字就行了,但是如果是图片格式的话,需要利用OCR,感兴趣的可以留言,可以后期发

def extract_text_from_docx(docx_path):
    doc = docx.Document(docx_path)
    text = ""
    for paragraph in doc.paragraphs:
        text += paragraph.text + "\n"

    return text , os.path.splitext(os.path.basename(docx_path))[0] #返回所有文字 , 文件名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼城周杰伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值