前面写了如何处理word中的表格:利用python批量处理Word文件——表格 ,其实我觉得word正文应该很少用到批处理,不过万一有朋友需要呢,我们要处理的文件内容千奇百怪,但我觉得难点其实是如何对我们想处理的内容进行读写,所以这篇博客的主要内容就是word文件的读写。我把word文件中的内容分为三类:一是表格;二是图片;三是其它内容。表格和图片的处理我在另外的博客中有详细说明,这里主要谈谈word正文的读写。

在docx中,Word内容的(除表格、图片)的基本组成是段落,因此word的所有内容都存储在paragraphs中,paragraph有两个属性:一是text,二是style。text存储段落的内容,style判断段落的种类。

1.读取Word内容
1.1读取Word中的表格

利用python-docx批量处理Word文件——表格

1.2读取Word中的图片

利用python-docx批量处理Word文件—图片

1.3读取Word正文
from docx import Document
doc=Document("./a.docx")
for p in doc.paragraphs:print(p.text)

通过遍历paragraphs就可以获得word中全部内容,有时候我们并不需要读取Word中的所有内容,我们可能只想要某些特殊的内容,比如标题,比如列表,那么docx可否实现呢,答案是肯定的。

1.3.1 读取Word中的标题
  • 一级标题
for p in doc.paragraphs:if p.style.name=='Heading 1':print(p.text)
  • 二级标题
for p in doc.paragraphs:if p.style.name=='Heading 2':print(p.text)
  • 所有标题
import re
for p in doc.paragraphs:if re.match("^Heading \d+$",p.style.name):print(p.text)
1.3.2 读取正文
for p in doc.paragraphs:if p.style.name=='Normal':print(p.text)
1.3.3 其它内容

从前面可以看出,如果知道不同内容的style.name,那么要读这些内容是极其方便的,这些style.name可以通过以下方式得到:

from docx.enum.style import WD_STYLE_TYPE
for i in s:if i.type==WD_STYLE_TYPE.PARAGRAPH:print(i.name)
2.Word写入数据
2.1 标题

写入标题有两种方法

doc.add_heading("heading 1",level=1)

or

doc.add_paragraph("heading 1",style='Heading 1')
2.2 正文
doc.add_paragraph("正文")
2.3 分页符
doc.add_page_break()
2.5 其它

利用add_paragraph可以插入几何所有内容,只指定对应的style即可。

至于写入数据时的格式控制说起来就比较复杂了,我就不详述了,如果大家有需要,可以看下面文档:

  1. 最好的学习文档:官方API
  2. $用python-docx模块读写word文档
  3. 使用Python写入docx文件并控制字体颜色
  4. python docx 中文字体设置

网上资料很多,大家有更多需求就自己去找吧,或着留言。

转载于:https://www.cnblogs.com/xtfge/p/9949055.html

利用python批量处理Word文件——正文、标题相关推荐

  1. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  2. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  3. Python批量提取Word文件题库中的答案

    问题描述:假设有Word文件"Python题库.docx"中有若干Python题目(目前有1000道,已在公众号内分享第一期1000道Python题库系列分享一(17道))和对应的 ...

  4. 利用python-docx批量处理Word文件—图片

    图片是Word的一种特殊内容,这篇文章主要内容是如何利用python-docx批量提取Word中的图片,以及如何在Word国插入图片. 1.提取Word中的图片并保护成指定格式 docx好像并没有直接 ...

  5. 如何利用Python批量将Word中的信息提取到Excel?

    大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共有近2600条类似格式的表格细栏,每个栏目包括的信息有: 日期 发文单位 ...

  6. Python - 批量转换Word文件为PDF文件

    1,目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2,遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1,调用glob 遍历指定目录下的所有文件和文件夹,不递归 ...

  7. 利用Python批量将csv文件转化成xml文件

    文章目录 一.前言 二.Python代码实现 一.前言 将 csv 格式转换成xml格式有许多方法,可以用数据库的方式,也有许多软件可以将 csv 转换成xml.但是比较麻烦,本文利用 Python ...

  8. python中关于命名的例子_利用Python批量重命名文件(给非技术人员的Python实例参考)...

    Python是一门"优雅"的计算机语言,而且就算10岁的小朋友也能学会,我一直向我身边的同学朋友同事推荐,不管他会不会编程. 这一回我需要完成的任务是把"照片" ...

  9. 批量处理word文件内容_用python批量提取word文件信息,导出到excel文件

    技术的运用可以解决大量重复处理的工作,提高效率. 比如,有大量的论文电子文档(.docx格式),需要提取文档中的题目.作者.单位等信息制成表格(.xlsx格式),一般每篇论文的题目在第1行,副标题在第 ...

  10. 利用Python批量将.dat文件转换成.csv文件

    今天处理一些dat文件的时候,要进行批量转换成CSV文件,如果直接进行转换会遇到一行中有多个数据的问题,因此要进行替换,操作程序如下: import os import pandas as pdpat ...

最新文章

  1. PowerShell 收集计算机相关信息
  2. Android BGradualProgress 多种渐变、直角or弧角、进度条、加载条
  3. 信号量有没有容量限制?
  4. leetcode 贪心_「leetcode」135.分发糖果【贪心算法】详细图解
  5. 进化论是个假说,目前解释生物现象最合理
  6. 火狐浏览器添加restclient.xpi 添加插件时候遇见的 附件未经验证无法安装
  7. 如何用 Python 快速开发一个网站
  8. 普及练习场 深度优先搜索 八皇后
  9. 《AngularJS深度剖析与最佳实践》一 2.4 控制器
  10. ANSYS Electronics Suite 2021 R2
  11. 教你炒股票22:将8亿的大米装到5个庄家的肚里
  12. 《Domain Separation Networks》文献翻译
  13. 前端项目搭建部署全流程(一):搭建React项目
  14. Windows如何打开命令模式
  15. 情感驿站 | 如果这个世界真有奇迹,那一定是努力的另一个名字
  16. 物联网发展的十个预言
  17. 二手书直卖 代码分享
  18. 动态网页html语言,动态网页设计HTML语言基础.ppt
  19. 致远项目管理SPM系统五大技术平台层-CTP能力概述
  20. 安卓NavigationDrawer的使用

热门文章

  1. 感受一下Java中的“枚举类型”
  2. 绝对定位实现漂浮工具条停靠在内容旁边
  3. 解决Git报“OpenSSL SSL_read: Connection was reset, errno 10054”错的问题
  4. SqlServer递归查询树形结果数据
  5. IE 8 HTML Parsing Error:Unable to modify the parent container element before the child element is...
  6. C 线程同步的四种方式(Windows)
  7. 使用 Linux下 timerfd 系列 API 创建定时器并使用 epoll 监听
  8. ftp 上传文件夹_8uftp上传工具,8uftp上传工具的使用方法
  9. ipmitool查看内存信息_小技巧:Win7系统中查看电脑内存频率多少的方法
  10. php post 302,php – Laravel 5.2 Post 302重定向到GET