zoukankan      html  css  js  c++  java
  • python读取word里面的内容

    1.将word文档转为html操作,通过bs4中的 BeautifulSoup 提取html中所需要的内容

    步骤一:下载bs4 和 pydocx  并且引入

    pip install bs4
    pip install pydocx  
    # 读取word中的内容
    from pydocx import PyDocX
    from bs4 import BeautifulSoup  # 将html转为对象的形式

    步骤二:读取word里面的内容,并且解析

    html = PyDocX.to_html("C:\Users\Administrator\Desktop\test.docx")
    soup = BeautifulSoup(html, 'html.parser')
    """
    demo 表示被解析的html格式的内容
    html.parser表示解析用的解析器
    """
    soup.prettify()  # 使用prettify()格式化显示输出
    # print(soup.prettify())
    title_list = soup.select("h2>span[style='text-indent:1.25em']", attrs={"style": "text-indent:1.25em"})
    content_list = soup.find_all('span', attrs={
    "class": "pydocx-left"})  # 指定属性,查找class属性为title的标签元素,注意因为class是python的关键字,所以这里需要加个下划线'_'
    print(len(content_list))

    2.读取word里面的内容,以文本的形式,一段一段的读出来,通过样式去获去文档里面的内容

    步骤一:下载python-docx,并且引入

    pip install python-docx
    # 引入
    from docx import Document

    步骤二:读取word里面的内容

    title = ""
    content = ""
    titleArr = []
    document = Document("C:\Users\Administrator\Desktop\test.docx")
    # 获取所有段落
    all_paragraphs = document.paragraphs
    for paragraph in all_paragraphs:
        if paragraph.style.name == 'Normal':
           content = content + paragraph.text + '
    '
        else:
           obj = {"title": title, "content": content}
            if content != '':
               titleArr.append(obj)
               content = ""
               title = paragraph.text
               # print(obj)
  • 相关阅读:
    ArcEngine 里面的日期
    ArcEngine连接Oracle数据库
    ArcGIS连接Oracle数据库
    ms sql 带自增列 带外键约束 数据导入导出
    获取指定 MethodInfo 的 MSIL 或者 C# 源码
    架构知识集锦
    ClickOnce手动更新
    委托简单例子
    C# 多线程编程之锁的使用【互斥锁(lock)和读写锁(ReadWriteLock)】
    可扩展类库强制取消异步调用
  • 原文地址:https://www.cnblogs.com/lxz123/p/14504035.html
Copyright © 2011-2022 走看看