Python 进阶(七): Word 基本操作
目录
- 1. 概述
- 2. 写入
- 2.1 标题
- 2.2 段落
- 2.3 表格
- 2.4 图片
- 2.5 样式
- 3. 读取
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')
看一下效果:
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')
看一下效果:
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].cells
hc[0].text = '姓名'
hc[1].text = '年龄'
# 表体
bc1 = table.rows[1].cells
bc1[0].text = '张三'
bc1[1].text = '22'
bc2 = table.rows[2].cells
bc2[0].text = '李四'
bc2[1].text = '33'
# 保存
document.save('test.docx')
看一下效果:
2.4 图片
我们接着向文档中插入图片,完整实现代码如下所示:
from docx import Document
from 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].cells
hc[0].text = '姓名'
hc[1].text = '年龄'
# 表体
bc1 = table.rows[1].cells
bc1[0].text = '张三'
bc1[1].text = '22'
bc2 = table.rows[2].cells
bc2[0].text = '李四'
bc2[1].text = '33'
# 分页
# document.add_page_break()
# 图片
document.add_picture('pic.jpg', width=Inches(1))
# 保存
document.save('test.docx')
看一下效果:
2.5 样式
我们再设置一下基本样式,比如:标题居中、字体加粗、首行缩进等,完整实现代码如下所示:
from docx import Document
from docx.shared import Inches
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Cm, Pt# 创建文档
document = Document()
style = document.styles['Normal']
# 标题
t0 = document.add_heading('标题0', 0)
# 居中
t0.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
document.add_heading('标题1', 1)
# 首行缩进两个字符
paragraph_format = style.paragraph_format
paragraph_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].cells
hc[0].text = '姓名'
hc[1].text = '年龄'
# 表体
bc1 = table.rows[1].cells
bc1[0].text = '张三'
bc1[1].text = '22'
bc2 = table.rows[2].cells
bc2[0].text = '李四'
bc2[1].text = '33'
# 分页
# document.add_page_break()
# 图片
document.add_picture('pic.jpg', width=Inches(1))
# 保存
document.save('test.docx')
看一下效果:
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 进阶(七): Word 基本操作相关推荐
- Python进阶(七)浅谈python3和Python2的区别
文章目录 一.前言 二.print函数 2.1 举例 三.reduce()函数 四.try except 五.打开文件 六.从键盘录入一个字符串 七.整形除法自动转为float 八.新的字符串格式化方 ...
- python装饰器模式带参数_Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)...
Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...
- Python实现Office自动化办公(实现Python对word基本操作、对excel基本操作、在word中插入表格、word中插入网站爬虫取图)
Python实现Office办公自动化,以商务流程为例 一. Pycharm 2018(Mac版)的下载 二.Welcome to PyCharm 三.使用DocxTemplate功能模块,实现pyt ...
- 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档...
孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...
- Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...
Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: 这里 ...
- python怎么读取word文件_使用python编辑和读取word文档
python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明. 使用python新建一个word文档,操作就像文档里介绍的那样: 1 from docx importDo ...
- Python 进阶之路 (九) 再立Flag, 社区最全的itertools深度解析(上)
前言 大家好,今天想和大家分享一下我的itertools学习体验及心得,itertools是一个Python的自带库,内含多种非常实用的方法,我简单学习了一下,发现可以大大提升工作效率,在sf社区内没 ...
- Python 进阶之路 (十二) 尾声即是开始
Python进阶之路总结 大家好,我的<< Python进阶之路>>到这一期就到此为止了,和 <<Python 基础起步>>不同,在掌握了一些基础知识后 ...
- 【Python进阶】带你使用Matplotlib进行可视化
欢迎来到专栏<Python进阶>.在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件.数据的处理,Python各种好用的库如NumPy.Scipy.Matplotl ...
- Python 进阶之路 (八) 最用心的推导式详解 (附简单实战及源码)
什么是推导式 大家好,今天为大家带来问我最喜欢的Python推导式使用指南,让我们先来看看定义~ 推导式(comprehensions)是Python的一种独有特性,推导式是可以从一个数据序列构建另一 ...
最新文章
- jQuery的each()方法
- Android之Button练习
- 开源组件XStream 修复11个漏洞并公开 PoC
- Session实现验证码登陆笔记
- matlab 安装教程:matlab 2016a(matlab R2016a)
- 计算机ppt制作培训心得,ppt培训心得体会总结范文
- 获取抖音无水印视频地址
- global shutter和rolling shutter,全局快门与卷帘式快门
- python登录注册程序编写_python写注册程序
- 在手机上访问和调试本地的 H5 页面
- KVM虚拟化平台搭建、工作模式与原理
- java获取当天开始,结束时间
- 离散型特征编码方式:one-hot与哑变量
- 2019年个人暑期健身计划和执行结果:跑步250公里,体重减少5.5公斤,顺利完成
- 设计 一个高性能爬虫系统
- xshell个人免费版下载使用
- SOCKET与TCP
- 发现身边感动,寻找最美龙江测绘人
- 【蜂言蜂语】何以解忧?唯有暴富~
- 小米2019秋招面试算法题 最少立方数之和 dp与dfs解法