python word操作_Python 进阶(七): Word 基本操作

24def38dab150073efec5efc9e5338f0.gif 点击上方蓝字关注,一起学 Python 

1. 概述

Word 是一个十分常用的文字处理工具,通常我们都是手动来操作它,本节我们来看一下如何通过 Python 来操作。

Python 提供了 python-docx 库,该库就是为 Word 文档量身定制的,安装使用 pip install python-docx 命令即可。

2. 写入

首先,我们使用 Python 来创建一个 Word 文档并向其中写入一些内容。

2.1 标题

我们先来创建 Word 文档并向其中添加标题,完整实现代码如下所示:

from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)document.add_heading('标题2', 2)# 保存document.save('test.docx')

看一下效果: 

b027a299ab448277c4785dbfb6166064.png

2.2 段落

我们接着向 Word 文档中添加段落内容,完整实现代码如下所示:

from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'                       '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'                       'Python来操作吧!')# 保存document.save('test.docx')

看一下效果: 

10902a7363be6b640549db908eeca088.png

2.3 表格

我们接着向文档中插入表格,完整实现代码如下所示:

from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'                       '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'                       'Python来操作吧!')# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 保存document.save('test.docx')

看一下效果:

a18693478e9d9aadbd39d82f8be5224a.png

2.4 图片

我们接着向文档中插入图片,完整实现代码如下所示:

from docx import Documentfrom docx.shared import Inches# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'                       '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'                       'Python来操作吧!')# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 分页# document.add_page_break()# 图片document.add_picture('pic.jpg', width=Inches(1))# 保存document.save('test.docx')

看一下效果:

a1c876e1a13891c19338950e24fa04b1.png

2.5 样式

我们再设置一下基本样式,比如:标题居中、字体加粗、首行缩进等,完整实现代码如下所示:

from docx import Documentfrom docx.shared import Inchesfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENTfrom docx.shared import Cm, Pt# 创建文档document = Document()style = document.styles['Normal']# 标题t0 = document.add_heading('标题0', 0)# 居中t0.alignment = WD_PARAGRAPH_ALIGNMENT.CENTERdocument.add_heading('标题1', 1)# 首行缩进两个字符paragraph_format = style.paragraph_formatparagraph_format.first_line_indent = Cm(0.74)# 段落p1 = document.add_paragraph('你们平时')# 字体加粗p1.add_run('Word文档').bold = True# 斜体p1.add_run('用的多吗?').italic = True# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落p2 = document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'                       '你们平时是手动操作Word文档?如果是的话,')run = p2.add_run('一起来了解下如何通过Python来操作吧!')# 设置字体大小run.font.size = Pt(12)# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 分页# document.add_page_break()# 图片document.add_picture('pic.jpg', width=Inches(1))# 保存document.save('test.docx')

看一下效果: 

0e7875a164f5251fa85f397a5d5edaa4.png

3. 读取

我们再来读取一下之前 Word 文档中写入的内容,完整代码实现如下所示:

from docx import Document# 打开文档document = Document('test.docx')# 读取标题、段落、列表内容ps = [ paragraph.text for paragraph in document.paragraphs]for p in ps:    print(p)# 读取表格内容ts = [table for table in document.tables]for t in ts:    for row in t.rows:        for cell in row.cells:            print(cell.text, end=' ')        print()

推荐阅读

Python 基础文章汇总

Python 进阶(一):多线程

Python 进阶(二):多进程

Python 进阶(三):邮件的发送与收取

Python 进阶(四):数据库操作之 MySQL

Python 进阶(五):数据库操作之 SQLite

Python 进阶(六):Excel 基本操作 464dec1b87b90894b3f92d8aa9cf8c3a.gif
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值