**安装依赖:**

```

pip install python-docx

```

**简单的写入一点内容:**

```

import docx

file=docx.Document() #创建内存中的word文档对象

file.add_paragraph("窗前明月光") #写入若干段落

file.add_paragraph("疑是地上霜")

file.add_paragraph("举头望明月")

file.add_paragraph("低头思故乡")

file.save("E:\静夜思.docx") #保存才能看到结果

```

**添加的时候可以写入样式,表格等**:

```

#插入有序列表,段落的前面会有序号123

doc2.add_paragraph('把冰箱门打开',style='List Number')

doc2.add_paragraph('把大象装进去',style='List Number')

doc2.add_paragraph('把冰箱门关上',style='List Number')

#插入无序列表,段落的前面没有序号

doc2.add_paragraph('AA',style='List Bullet')

doc2.add_paragraph('BB',style='List Bullet')

doc2.add_paragraph('CC',style='List Bullet')

#插入一个6行6列的表格

table=doc2.add_table(rows=6,cols=6,style='Table Grid')

for i in range(0,6):

for j in range(0,6):

table.cell(i,j).text="第{i}行{j}列".format(i=i+1,j=j+1)

#插入照片

doc2.add_picture('FLAMING MOUNTAIN.JPG',width=docx.shared.Inches(5))

```

**添加段落的样式有这么多可以选择的,具体的效果大家可以试试:**

```

Normal

Body Text

Body Text 2

Body Text 3

Caption

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5

Heading 6

Heading 7

Heading 8

Heading 9

Intense Quote

List

List 2

List 3

List Bullet

List Bullet 2

List Bullet 3

List Continue

List Continue 2

List Continue 3

List Number

List Number 2

List Number 3

List Paragraph

Macro Text

No Spacing

Quote

Subtitle

TOCHeading

Title

```

段落样式,表格样式等官方文档:

https://python-docx.readthedocs.io/en/latest/user/styles-understanding.html

**设置页眉:**

```

file=docx.Document() #创建内存中的word文档对象

head=file.sections[0].header

head.paragraphs[0].text="Left Text\tCenter Text\tRight Text"

head.paragraphs[0].style =file.styles["Header"]

head.is_linked_to_previous=False

```

设置页眉的官方文档:

https://python-docx.readthedocs.io/en/latest/user/hdrftr.html

**设置字体样式(字体与大小)**

```

from docx.shared import Pt

file=docx.Document() #创建内存中的word文档对象

#设置字体样式(字体大小与)

mystyle = file.styles["Header"]

font = mystyle.font

font.size = Pt(10.5)

font.name = '宋体'

head.paragraphs[0].style = mystyle

```

其中字号与数字的对应如下:

>初号=42磅 小初=36磅 一号=26磅 小一=24磅?二号=22磅 小二=18磅 三号=16磅 小三=15磅?四号=14磅 小四=12磅 五号=10.5磅 小五=9磅?六号=7.5磅 小六=6.5磅 七号=5.5磅 八号=5磅?

tn> 注意设置中文字体的时候直接是不行的

需要使用如下的写法,两个一起用

```

#这里需要引入一个qn

from docx.oxml.ns import qn

mystyle = file.styles["Normal"]

font = mystyle.font

font.size = Pt(10.5)

font.name = u'宋体'

font._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

head.paragraphs[0].style = mystyle

```

当然如果想全局设置字体的话可以这样做

```

from docx.oxml.ns import qn

document.styles['Normal'].font.name = u'宋体'

document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

```

>docx内置的样式都可以通过document.styles取到。

正文是Normal, 标题样式根据标题声明的基本,分别从Heading 1 到Heading 9, 另外还有table、list等各种word对应的样式。可以通过遍历document.styles查看。

**标题与字体**

```

# 导入库

from docx import Document

from docx.shared import Pt

from docx.shared import Inches

from docx.oxml.ns import qn

from docx.shared import RGBColor

# 新建空白文档

doc1 = Document()

# 新增文档标题

doc1.add_heading('如何使用 Python 创建 Word',0)

# 创建段落描述

doc1.add_paragraph('我们平时使用 Word 用来做文章的处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')

# 创建一级标题

doc1.add_heading('安装 python-docx 库',1)

# 创建段落描述

doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库,具体需要以下两步操作:')

# 创建二级标题

doc1.add_heading('第一步:安装 Python',2)

# 创建段落,添加文档内容

paragraph = doc1.add_paragraph('这是第一步的安装描述!')

# 段落中增加文字,并设置字体字号

run = paragraph.add_run('(注意:这里设置了字号为20)')

run.font.size = Pt(20)

# 设置英文字体

run = doc1.add_paragraph('这里设置英文字体:').add_run('This Font is Times New Roman ')

run.font.name = 'Times New Roman'

# 设置中文字体

run = doc1.add_paragraph('这里设置中文字体:').add_run('当前字体为黑体')

run.font.name='黑体'

r = run._element

r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')

# 设置斜体

run = doc1.add_paragraph('这段设置:').add_run('文字的是斜体 ')

run.italic = True

# 设置粗体

run = doc1.add_paragraph('这段再设置:').add_run('这里设置粗体').bold = True

# 设置字体带下划线

run = doc1.add_paragraph('这段为下划线:').add_run('这里设置带下划线').underline = True

# 设置字体颜色

run = doc1.add_paragraph('这段字体为红色:').add_run('这里设置字体为红色')

run.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)

# 增加引用

doc1.add_paragraph('axj', style='Intense Quote')

# 保存文件

doc1.save('myword.docx')

```

官方文档:

https://python-docx.readthedocs.io/en/latest/user/styles-using.html

**设置段落行高与对齐方式等**

对齐方式修改

```

from docx.enum.text import WD_ALIGN_PARAGRAPH

paragraph.alignment=WD_ALIGN_PARAGRAPH.CENTER # 居中对齐

```

> paragraph.alignment=对齐方式,可选的对齐方式:LEFT、CENTER、RIGHT、JUSTIFY、DISTRIBUTE、JUSTIFY_MED、JUSTIFY_HI、JUSTIFY_LOW、THAI_JUSTIFY,具体的效果自己尝试

行间距设置

```

paragraph.paragraph_format.line_spacing=2.0 # 修改行间距

```

>使用paragraph.paragraph_format.line_spacing=2.0的方法,修改行间距,使用浮点数,2.0就表示两倍行间距!

修改段落间距

```

paragraph.paragraph_format.space_before=Pt(12)

paragraph.paragraph_format.space_after=Pt(10)

```

> 修改段前和段后间距,使用以上代码。Pt(12)表示12磅

注意设置了行间距后要把:在相同样式的段落间不添加空格勾勾去掉才能起作用,不然会有问题的

![](https://img.tnblog.net/arcimg/aojiancc2/bd9dcf32b2df406c9e186c6a1e8c7675.png)

tn> 设置样式这些还没有玩得很转,不然配合python强大的爬虫能力真的可以减少好多工作量

**其他的可以参考一下官方文档**:

https://python-docx.readthedocs.io/en/latest/

python处理word_python操作word,自动化办公相关推荐

  1. python处理word_Python操作Word的入门教程

    Python操作Word的入门教程 前言 今天来介绍下,如何用 Python 来操作 Word. 再来介绍操作 Word 之前,先来说一个最近看书学到的法则,即 3W 法则. 3W:3W分别指 Wha ...

  2. python调用word_Python操作Word

    有两种方式: 使用win32com 使用docx 1.使用win32com扩展包 只对windows平台有效 # coding=utf-8 import win32com from win32com. ...

  3. python处理word_Python操作word手册

    人间烟火,山河远阔. 无一是你,无一不是你. 在工作生活中对word使用的比较多,需要重复的操作可以使用python完成,但是最主要的还是为了自动生成漏洞页面报告,所以使用python操作word进行 ...

  4. python word自动化_python操作word,自动化办公

    **安装依赖:** ``` pip install python-docx ``` **简单的写入一点内容:** ``` import docx file=docx.Document() #创建内存中 ...

  5. python处理word_python操作word设置字体

    **设置字体** ``` from docx.shared import Pt file=docx.Document() #创建内存中的word文档对象 #设置字体样式(字体大小与字体样式) myst ...

  6. 如何用Python操作Excel自动化办公?一个案例教会你openpyxl——读取数据

    欢迎大家关注我,我是拾陆,关注同名"二八Data" 数据分析工作最难搞的是处理数据的过程,不然不会有专门的ETL(数据抽取.转换.加载)工程师了.如果是企业级数据处理可能数据库直接 ...

  7. python做excel自动化-Python如何控制Excel实现自动化办公

    Python如何控制Excel实现自动化办公 发布时间:2020-04-07 09:51:44 来源:亿速云 阅读:132 作者:小新 这篇文章主要给大家讲解的是Python如何控制Excel实现自动 ...

  8. 怎么学习python自动化_会python基础,如何学习自动化办公?

    这个我会! 我也是在有了点python基础之后开始学习自动化办公的,毕竟有时候要处理的表格太烦人了,重复的操作太多,所以我也想到了学习使用python来进行自动化办公. 说到自动化办公.无非就是对一些 ...

  9. python 手机自动化操作_Python自动化办公之word操作

    Python自动化办公之word操作,主要是用到python-docx库,针对word操作,对大批量重复性工作,使用python可以节省大量的时间和经历 python-docx word文档中的文字有 ...

最新文章

  1. grep 命令使用笔记
  2. powerdesigner 设置唯一约束
  3. Idea打可执行jar包
  4. c# uri.host_C#| Uri.HostNameType属性与示例
  5. 【五级流水线CPU】—— 1. 初始框架搭建
  6. ROS2的学习笔记(legacy)
  7. java 并发线程池的理解和使用
  8. 【转载】企业安全建设之数据库安全(中)
  9. apache的虚拟目录配置
  10. python下载完了之后怎么用_python下载后怎么用
  11. 中标麒麟 V7 操作系统安装达梦数据库 DM8
  12. 微信小程序轮播图高度自适应
  13. DELPHI 旧控件安装到 DELPHI11 新版环境的操作
  14. C语言/C++基础之五彩炫酷珠
  15. 统计原理笔记 Notes for Statistics I
  16. 远程计算机或许不支持所需的,WIN10远程计算机不支持所需的FIPS安全级别解决
  17. GNSS/INS组合导航(1)-- 姿态矩阵
  18. 傻傻分不清?云存储、云计算与分布式存储、分布式计算是一回事吗?
  19. 【luogu P1456 Monkey King】 题解
  20. 报错:Exception in thread “main“ java.io.IOException: 设备未就绪。

热门文章

  1. 服务器网站链接ip限制,apache服务器对同一IP地址的连接限制
  2. Spark基础学习笔记07:搭建Spark HA集群
  3. Java讲课笔记24:字节流
  4. Python程序:求最小公倍数
  5. Java案例:Log4J基本使用
  6. java jsp js xml,JSP语法的xml写法
  7. python第四章单元测试_Python 单元测试
  8. C语言模拟11答案,C语言模拟试题11答案.doc
  9. 【英语学习】【Level 08】U03 My Choice L5 The star that shines the brightest
  10. 【英语学习】【Level 07】U04 Rest and Relaxation L2 A rest stop with everything