python编程操作office三剑客之word篇

安装包

安装pip install python-docx -i https://pypi.doubanio.com/simple/引用import docx官方文档https://python-docx.readthedocs.io/en/latest/

word基本概念

一个word文件,整体上是一个线性的结构。

最开头是文章标题,接下来是章节标题、一段一段的正文,有序列表,无序列表是两种特殊的正文;此外还可以有图片、表格(当然表格局部具有二维特征)。

那么对word的操作,本质上就是自上而下的内容插入。插入不同的内容,使用不同的函数(只需了解下面4个函数)。

  • 文章标题:add_heading,级别0,
  • 各级标题:add_heading,级别1~5
  • 正文:add_paragraph
  • 有序列表:add_paragraph,style='ListNumber'
  • 无序列表:add_paragraph,style='List Bullet'
  • 此外,还有其它的正文格式,都通过style来设置,见附带案例代码的最后
  • 图片:add_picture
  • 表格:add_table

字体问题

除了内容,word文档还有一个关键功能是字体的控制。字体控制包括两个方面:一是字体名、字体大小、字体颜色等,这是字体的基本特点。此外,字体确定后,还可以设置黑体、斜体等属性。

所有非标题(正文)字体设置,因为内容量比较大,所以有个相对快速的方法:通过document.styles['Normal']来统一设定。

标题类字体、或者是正文内局部的字体,都可以直接通过标题的“run”来设定。

【什么是run】:run可以理解为是字体和格式完全相同的一小段文字。前面的add函数,都会返回一个run。此外还可以直接通过add_run在段落中增加一个独立控制字体格式的run。

字体信息包括:

  • 字体名:run.font.nam(注意,此外还需同时调用run._element.rPr.rFonts.set函数,和明显不合理,但库的功能暂时就是这样)
  • 字体大小:run.font.size(注意,单位是磅)
  • 字体颜色:run.font.color.rgb(用专有的RGBColor设置)
  • 黑体:run.bold= True
  • 斜体:run.italic=True

表格问题

表格可以是创建时(add_table)就指定行列,也可以在创建后增加行(add_column)或列。表格一个最关键的属性是table.style,设定了表格的模式,具体都有哪些模式,可以见官方文档,也可以见附带样例代码的最后

填充内容时:首先通过row= table.rows[0]获得表格的每一行,然后再通过row[0~n]来访问表格中每个具体的cell。

案例

五十六个民族word的制作,点击扩展链接获取。

(0)

相关推荐