有个业务需求要将上千个word文档(doc格式)合并,看着头大。。不过会python,那都不是问题。

1、安装第三方库 python_docx

pip install python_docx

2、批量将doc文档转换为docx文档(因为python操作doc文档很麻烦,docx支持得不错)

需要安装pypiwin32,因为用到了 win32com

pip install pypiwin32
import docx
import os
from glob import globfrom win32com import client as wcbase_dir  = "C:\\Users\\KK.JustDoIT\\Downloads\\汇总\\报修单\\日常维修-报修单-2月"# 批量另存为
def batch_save_as():for p in glob(os.path.join(base_dir, '*.doc')):new_file = p.replace('doc', 'docx')if os.path.exists(new_file):continueword = wc.DispatchEx('Word.Application')# 后台运行,不显示,不警告wc.Visible = Falsewc.DisplayAlerts = 0doc = word.Documents.Open(p)        # 目标路径下的文件doc.SaveAs(new_file, 12, False, "", True, "", False, False, False, False)  # 转化后路径下的文件 #12为docxdoc.Close()word.Quit()batch_save_as()

也可以转换为其他的格式,参数参考:python之office_word相关操作_hanli0902的博客-CSDN博客

3、将所有转换后的docx合并为一个新的word文档(docx)

方法一:(实测合并后有点瑕疵,格式有细微变化)

import docx
import os
from glob import globbase_dir  = "C:\\Users\\KK.JustDoIT\\Downloads\\汇总\\报修单\\日常维修-报修单-2月"
save_path  = "C:\\Users\\KK.JustDoIT\\Downloads\\汇总\\报修单"#合并操作
def combine_word_documents(files):merged_document = docx.Document()for index, file in enumerate(files):sub_doc = docx.Document(file)# Don't add a page break if you've reached the last file.if index < len(files)-1:sub_doc.add_page_break()for element in sub_doc.element.body:# print(element)merged_document.element.body.append(element)merged_document.save(os.path.join(save_path, 'merge.docx'))# 执行
path_list = glob(os.path.join(base_dir, '*.docx'))
combine_word_documents(path_list)

方法二:(实测格式无问题)

需要安装docxcompose

pip install docxcompose
import docx
import os
from glob import globfrom docxcompose.composer import Composerbase_dir  = "C:\\Users\\KK.JustDoIT\\Downloads\\汇总\\报修单\\日常维修-报修单-2月"
save_path  = "C:\\Users\\KK.JustDoIT\\Downloads\\汇总\\报修单"def combine_all_docx(files_list):number_of_sections=len(files_list)master = docx.Document()composer = Composer(master)for i in range(0, number_of_sections):doc_temp = docx.Document((files_list[i]))composer.append(doc_temp)composer.save(os.path.join(save_path, 'merge.docx'))# 执行
path_list = glob(os.path.join(base_dir, '*.docx'))
combine_all_docx(path_list)

python操作word文档,合并相关推荐

  1. python操作word文档(python-docx)

    python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...

  2. Python 操作Word文档插入图片和表格实例演示

    Python 操作Word文档插入图片和表格实例演示 效果图 实现过程 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Pytho ...

  3. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示

    前言P6Q免费资源网 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码P6Q免费资源网 实例代码: ...

  4. 利用python操作word文档

    总目录:Python数据分析整理 本文代码参考自官方文档: python-docx 使用的库下载方式为:pip install python-docx 注意!! 不是:pip install docx ...

  5. php怎么在表格里插图片,Python操作word文档插入图片和表格的实例演示

    今天带来Python操作word文档插入图片和表格的实例演示教程详解 前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多 ...

  6. Python 操作Word文档(一)--- 基本读写

    Python 操作Word文档(一)- 基本读写 安装python-docx库 命令安装 pip install python-docx IDE中安装,我使用的是PyCharm,如下 python-d ...

  7. 一篇就够,python 操作 word 文档,使用 python-docx 落地实现,写入篇

    本篇博客为大家带来 Python 操作 docx 文档相关知识点. 主要涉及的内容为 python-docx ,一款可以操作 Word 文档(仅支持 docx)的第三方库. 文章目录 写在前面 创建一 ...

  8. python操作word文档-python操作word

    1.Python写word文档 要操作word文档首先需要安装python-docx库: pip install python-docx 然后导入docx模块,或者从docx模块中导入Document ...

  9. python实现word文档合并

    目录 背景: 设计思路: 查看各目录未提交名单: 合并word文件: 脚本环境说明: 完整代码: 功能执行效果图: 总结: 背景: 由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在 ...

  10. 利用Python实现word文档合并

    实现步骤: 1.安装依赖 pip install docx pip install docxcompose pip install pyinstaller // 将py文件打包成exe文件的库 2.编 ...

最新文章

  1. 解决方法:ORA-24324 未初始化服务句柄
  2. CONNECT_NODES 中的SET HANDLER
  3. 怎么改变rofl格式_手机怎么裁剪视频尺寸
  4. 漫步数学分析番外六(上)
  5. Python 抓取图片
  6. FPGA学习笔记---3种乘法器的比较
  7. android 广播 event,无法接收android.intent.action.EVENT_REMINDER广播
  8. mysql中的事务_mysql中的事务,你理解嘛?
  9. ( 转 ) CORS 有一次 OPTIONS 请求的原理
  10. linux 字符驱动 tty,打通linux的tty驱动的数据链路
  11. AlphAction编译不通过问题:error: command ‘:/home/yst/cudas/cuda-10.0/bin/nvcc‘ failed with exit status 1
  12. Back Projection
  13. 海康 linux java demo_Java 实现 海康摄像头抓拍图像 Windows、Linux
  14. 《C语言程序设计》江宝钏主编-习题1-4-圆柱体
  15. 课外知识:人工智能简明入门学习指南
  16. STM32 VCP PC端安装驱动失败的问题解决
  17. Quectel EC20 R2.1 AT指令集(TCP/部分)
  18. 是一个新的开始,还是冥冥之中已经在路上。
  19. linux 系统迁移到固态硬盘,Linux系统迁移记录(从HDD到SSD)
  20. notepad++功能简介

热门文章

  1. IOS把图片做成圆形效果
  2. php中将图片裁剪为圆形
  3. 2(1) maximum number in a unimodal array
  4. 三维全景虚拟现实:现在的VR全景行业怎么样?|时空克隆 三维视频融合 投影融合 点卯 魔镜系列
  5. 1017 怪盗基德的滑翔翼(最长上升子序列扩展)
  6. 重装系统显示“安装程序正在应用系统设置“静止不动
  7. .pos文件打开方式
  8. c语言中lu是什么数据类型,C语言编程入门之--第四章C语言基本数据类型
  9. pyTorch常用工具包
  10. Bootstrap 对齐方式