利用python工具提取多个word中的图片和表格

这篇具有很好参考价值的文章主要介绍了利用python工具提取多个word中的图片和表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

由于工作因素,经常要对多个文档内容进行查重,文字类可以借助查重工具辅助,但图片和表格只能依靠鼠标滚轮还有笔者的打工眼。久而久之,眼睛废了,肩颈也吃不消了(-.-)。于是乎,就想用脚本批量导出,从而提高效率。
笔者非软件专业,所以只能请ChatGPT当导师了,经过多次修改,总算达到了预期效果。
大佬们如果有更好的办法,还请与我联系……下面是操作步骤。

2.安装python环境

官网下载: https://www.python.org/downloads/windows/

网上找个教程安装下去,命令行输入python能回显版本即可。

快捷键Ctrl+Z 退出python界面,而后安装pythone的docx、docx2txt 库

pip install python-docx
pip install docx2txt

利用python工具提取多个word中的图片和表格,工具插件使用,python,word,开发语言

3. python脚本

import os
from docx import Document
import docx2txt
from docx.enum.table import WD_ALIGN_VERTICAL

def extract_images_and_tables(input_docx_file, output_folder):
    # 创建输出文件夹
    folder_name = os.path.splitext(os.path.basename(input_docx_file))[0]
    output_folder = os.path.join(output_folder, folder_name)
    os.makedirs(output_folder, exist_ok=True)

    # 提取Word文档中的图片并保存到输出文件夹
    docx2txt.process(input_docx_file, output_folder)

    # 提取Word文档中的表格并保存到一个单独的文件
    doc = Document(input_docx_file)
    table_output_path = os.path.join(output_folder, "02-文档表格.docx")  # 修改文件名
    table_doc = Document()

    for table in doc.tables:
        new_table = table_doc.add_table(rows=len(table.rows), cols=len(table.columns))
        
        # 复制表格样式和内容
        for i, row in enumerate(table.rows):
            for j, cell in enumerate(row.cells):
                new_cell = new_table.cell(i, j)
                
                # 复制单元格的文本和样式
                for paragraph in cell.paragraphs:
                    new_paragraph = new_cell.add_paragraph(paragraph.text)
                    new_paragraph.alignment = paragraph.alignment
                    new_paragraph.vertical_alignment = WD_ALIGN_VERTICAL.CENTER
                    for run in paragraph.runs:
                        new_run = new_paragraph.runs[-1]  # 使用最后一个Run来避免样式重叠
                        new_run.bold = run.bold
                        new_run.italic = run.italic
                        new_run.underline = run.underline
                        new_run.font.size = run.font.size
                        new_run.font.name = run.font.name
                        new_run.font.color.rgb = run.font.color.rgb

    table_doc.save(table_output_path)
    print(f"提取了所有表格并保存到 {table_output_path}")

    # 提取大纲标题并生成目录文档
    outline_output_path = os.path.join(output_folder, "01-文档目录.docx")  # 修改文件名
    outline_doc = Document()

    for paragraph in doc.paragraphs:
        if paragraph.style.name.startswith('Heading'):
            level = int(paragraph.style.name.split()[-1])
            outline_doc.add_paragraph(paragraph.text, style=f'Heading {level}')
            
    outline_doc.save(outline_output_path)
    print(f"生成了目录并保存到 {outline_output_path}")

if __name__ == "__main__":
    input_folder = r"D:\01-待提取文档文件夹"  # 待提取文档的所在路径
    output_folder = r"D:\02-保存文档文件夹"  # 保存提取后文档的所在路径

    docx_files = [os.path.join(input_folder, filename) for filename in os.listdir(input_folder) if filename.endswith(".docx")]

    for docx_file in docx_files:
        extract_images_and_tables(docx_file, output_folder)

4. 执行效果

================ RESTART: C:\Users\Admin\Desktop\测试脚本.py ================
提取了所有表格并保存到 D:\02-保存文档文件夹\01-我是文档A\02-文档表格.docx
生成了目录并保存到 D:\02-保存文档文件夹\01-我是文档A\01-文档目录.docx
提取了所有表格并保存到 D:\02-保存文档文件夹\02-我是文档B\02-文档表格.docx
生成了目录并保存到 D:\02-保存文档文件夹\02-我是文档B\01-文档目录.docx
提取了所有表格并保存到 D:\02-保存文档文件夹\03-我是文档C\02-文档表格.docx
生成了目录并保存到 D:\02-保存文档文件夹\03-我是文档C\01-文档目录.docx
提取了所有表格并保存到 D:\02-保存文档文件夹\04-我是文档D\02-文档表格.docx
生成了目录并保存到 D:\02-保存文档文件夹\04-我是文档D\01-文档目录.docx
利用python工具提取多个word中的图片和表格,工具插件使用,python,word,开发语言
利用python工具提取多个word中的图片和表格,工具插件使用,python,word,开发语言文章来源地址https://www.toymoban.com/news/detail-712648.html

到了这里,关于利用python工具提取多个word中的图片和表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机视觉的应用10-图片中的表格结构识别与提取实战

    大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用10-图片中的表格结构识别与提取实战,表格结构识别在信息处理领域中具有广泛应用,但由于表格的多样性和复杂性,以及难以准确解析的布局和格式,传统的方法往往存在一定的局限性。本项目基于深度学习技术

    2024年02月13日
    浏览(39)
  • 【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格

            如何将EXCEL的多个表格合并成一个表格呢?比如每月销售额是一个单独的表格,我想把它们合并成一个表格,今天就与大家分享如何利用Python数据分析3分钟搞定,不管你要合并多少个文件,代码总是那么几行。不多说了,上案例。          现在有3个月的销售额,需

    2023年04月24日
    浏览(44)
  • python利用docxtpl将excel数据写入word表格

    解决问题一:将excel数据读取,并将其保存在word中的表格 解决问题二:使用xlrd读入excel数据,如果是整数的话,打开word后发现保存变成了浮点数,后边多了“.0”。 问题一、 可以参考docxtpl快速上手使用,数据填入以及循环写入表格_sxuccs的博客-CSDN博客 docxtpl/python-docx_雪球干

    2024年02月12日
    浏览(41)
  • Python 在Word中创建表格并填入数据、图片

    在Word中,表格是一个强大的工具,它可以帮助你更好地组织、呈现和分析信息。本文将介绍如何使用Python在Word中创建表格并填入数据、图片,以及设置表格样式等。 Python Word库: 要使用Python在Word中创建或操作表格,需要先将Spire.Doc for Python这个第三方库安装到项目中.   以

    2024年03月11日
    浏览(46)
  • python 利用word中占位符号实现按word指定位置插入图片

    from docx import Document from docx.shared import Inches from docx.oxml.ns import qn from docx.enum.text import WD_ALIGN_PARAGRAPH def center_insert_img(doc, img):     \\\"\\\"\\\"插入图片\\\"\\\"\\\"     for paragraph in doc.paragraphs:         # 根据文档中的占位符定位图片插入的位置         if \\\'img1\\\' in paragraph.text:             # 把占

    2024年02月11日
    浏览(47)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月13日
    浏览(52)
  • 【python】利用BeautifulSoup提取html中的标签、数据

            对于不熟悉HTML和正则表达式的人,可以用第三方模块包BeautifulSoup来提取HTML或XML中的数据。 使用解析器分析指定的网页源代码,得到源代码的结构模型 通过标签名进行定位 源代码中可能会有多个同名标签,通过标签名定位只能返回第一个标签: 通过标签属性定

    2024年02月09日
    浏览(39)
  • 【Python • 图片识别】pytesseract快速识别提取图片中的文字

    提示:本文多图,请手机端注意流量。 利用python做图片识别,识别提取图片中的文字会有很多方法,但是想要简单一点怎么办,那就可以使用tesseract识别引擎来实现,一行代码就可以做到提取图片文本。 本程序用到了两个python库,pytesseract和PIL,所以先来安装。 运行以下命

    2024年02月02日
    浏览(40)
  • python将两个或文件夹中的多个csv表格合并在一起

    data1, data2:用于合并的数据。 how:{‘left’, ‘right’, ‘outer’, ‘inner’},默认’inner’ on:label 或 list 返回: 两个合并对象的数据框架。 有4种类型的合并。 四种连接类型:inner(内连接),left(左外连接),right(右外连接),outer(完全外连接) 把文件夹中的两个表格合

    2024年02月12日
    浏览(54)
  • python提取图片型pdf中的文字(提取pdf扫描件文字)

    前言 文字型pdf提取,python的库一大堆,但是图片型pdf和pdf扫描件提取,还是有些难度的,我们需要用到OCR(光学字符识别)功能。 一、准备 1、安装OCR(光学字符识别)支持库 首先要安装 pytesseract 和 Tesserac OCR ,Tesseract OCR是一种广泛使用的OCR工具,它可以用于从图像中提取

    2024年03月23日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包