前言
这次梳理的篇幅主要是涉及Word以及如何通过python对Word进行操作等,对巩固自己的python知识也是很有帮助的,进一步的对Word的使用而言也是帮助很大的。
但更多的是抛砖引玉,希望对你们有所帮助。
感谢各位鼓励与支持🌹🌹🌹,往期文章都在最后梳理出来了(●'◡'●)
接下来就以问题的形式展开梳理👇
python对应下的Word
Word,「Word一般指Microsoft Office Word。Microsoft Word是是微软公司的一个文字处理器应用程序。Word给用户提供了用于创建专业而优雅的文档工具,帮助用户节省时间,并得到优雅美观的结果」。
安装python-docx
$ pip install python-docx
################# 运行结果 ################
C:\Users\Y>pip install python-docx
Looking in indexes: https://pypi.doubanio.com/simple
Collecting python-docx
Downloading https://pypi.doubanio.com/packages/e4/83/c66a1934ed5ed8ab1dbb9931f1779079f8bca0f6bbc5793c06c4b5e7d671/python-docx-0.8.10.tar.gz (5.5MB)
|████████████████████████████████| 5.5MB 3.2MB/s
Requirement already satisfied: lxml>=2.3.2 in c:\users\y\appdata\local\programs\python\python37\lib\site-packages (from python-docx) (4.5.0)
Building wheels for collected packages: python-docx
Building wheel for python-docx (setup.py) ... done
Created wheel for python-docx: filename=python_docx-0.8.10-cp37-none-any.whl size=184496 sha256=7ac76d3eec848a255b4f197d07e7b78ab33598c814d536d9b3c90b5a3e2a57fb
Stored in directory: C:\Users\Y\AppData\Local\pip\Cache\wheels\05\7d\71\bb534b75918095724d0342119154c3d0fc035cedfe2f6c9a6c
Successfully built python-docx
Installing collected packages: python-docx
Successfully installed python-docx-0.8.10
OK,如果提示以上信息则安装成功。
python下写入Word
平时我们在操作 Word 写文档的时候,一般分为几部分:标题、章节、段落、图片、表格、引用以及项目符号编号等。下面我们就按这几部分如何用 Python 操作来一一介绍。
标题
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建空白文档
doc1 = Document()
# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word',0)
# 保存文件
doc1.save('word1.docx')
这样就完成了创建文档和文章标题的操作,下面运行程序,会生成名为 word1.docx 的文档,打开文章显示如下图所示:👇
章节与段落
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建空白文档
doc1 = Document()
# 新增文档标题
doc1.add_heading('如何使用 Python 创建和操作 Word',0)
# 创建段落描述
doc1.add_paragraph(' Word 文档在我们现在的生活和工作中都用的比较多,我们平时都使用 wps 或者 office 来对 Word 进行处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')
# 创建一级标题
doc1.add_heading('安装 python-docx 库',1)
# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库,具体需要以下两步操作:')
# 创建二级标题
doc1.add_heading('第一步:安装 Python',2)
# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')
# 创建三级标题
doc1.add_heading('第二步:安装 python-docx 库',3)
# 创建段落描述
doc1.add_paragraph('window下win+R输入CMD打开命令行,输入pip install python-docx即可下载。')
# 保存文件
doc1.save('word2.docx')
上面我们说了 add_heading 方法用来增加文章标题,不过通过上面代码我们能知道,这个方法的第二个参数为数字,其实这个就是用来标示几级标题的,在我们平时就用来标示章节。add_paragraph 方法则是用来在文章中增加段落的, 运行程序看下效果:👇
字体与引用
# 导入库
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 文档在我们现在的生活和工作中都用的比较多,我们平时都使用 wps 或者 office 来对 Word 进行处理,可能没想过它可以用 Python 生成,下面我们就介绍具体如何操作……')
# 创建一级标题
doc1.add_heading('安装 python-docx 库',1)
# 创建段落描述
doc1.add_paragraph('现在开始我们来介绍如何安装 python-docx 库,具体需要以下两步操作:')
# 创建二级标题
doc1.add_heading('第一步:安装 Python',2)
# 创建段落描述
doc1.add_paragraph('在python官网下载python安装包进行安装。')
# 创建三级标题
doc1.add_heading('第二步:安装 python-docx 库',3)
# 创建段落描述
doc1.add_paragraph('window下win+R输入CMD打开命令行,输入pip install python-docx即可下载。')
# 创建段落,添加文档内容
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('这里是我们引用的一段话:用Python改变人生,改变世界,FIGHTING。', style='Intense Quote')
# 保存文件
doc1.save('word2.docx')
上面代码主要是针对段落字体的各种设置,每段代码都标有注释应该比较容易理解, 运行程序看下效果:👇
项目列表
# 导入库
from docx import Document
from docx.shared import Pt
from docx.shared import Inches
from docx.oxml.ns import qn
# 新建文档
doc2 = Document()
doc2.add_paragraph('哪个不是动物:')
# 增加无序列表
doc2.add_paragraph(
'苹果', style='List Bullet'
)
doc2.add_paragraph(
'喜洋洋', style='List Bullet'
)
doc2.add_paragraph(
'懒洋洋', style='List Bullet'
)
doc2.add_paragraph(
'沸洋洋', style='List Bullet'
)
doc2.add_paragraph(
'灰太狼', style='List Bullet'
)
doc2.add_paragraph('2020年度计划:')
# 增加有序列表
doc2.add_paragraph(
'CSDN达到博客专家', style='List Number'
)
doc2.add_paragraph(
'每周健身三天', style='List Number'
)
doc2.add_paragraph(
'每天学习一个新知识点', style='List Number'
)
doc2.add_paragraph(
'学习50本书', style='List Number'
)
doc2.add_paragraph(
'减少加班时间', style='List Number'
)
doc2.add_heading('图片',2)
# 增加图像
doc2.add_picture('C:/Users/Y/Pictures/python-logo.png', width=Inches(5.5))
doc2.add_heading('表格',2)
# 增加表格,这是表格头
table = doc2.add_table(rows=1, cols=4)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '编号'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '职业'
# 这是表格数据
records = (
(1, '张三', '电工'),
(2, '张五', '老板'),
(3, '马六', 'IT'),
(4, '李四', '工程师')
)
# 遍历数据并展示
for id, name, work in records:
row_cells = table.add_row().cells
row_cells[0].text = str(id)
row_cells[1].text = name
row_cells[2].text = work
# 手动增加分页
doc2.add_page_break()
# 保存文件
doc2.save('word1.docx')
运行程序看下效果:👇
python下读取Word
上面写了很多用 Python 创建空白 Word 文件格式化字体并保存到文件中,接下来我们再简单介绍下如何读取已有的 Word 文件,请看如下代码:👇
# 导入 xlwt 库
import xlwt
# 创建 xls 文件对象
wb = xlwt.Workbook()
# 新增两个表单页
sh1 = wb.add_sheet('成绩')
sh2 = wb.add_sheet('汇总')
# 然后按照位置来添加数据,第一个参数是行,第二个参数是列
# 写入第一个sheet
sh1.write(0, 0, '姓名')
sh1.write(0, 1, '专业')
sh1.write(0, 2, '科目')
sh1.write(0, 3, '成绩')
sh1.write(1, 0, '张三')
sh1.write(1, 1, '信息与通信工程')
sh1.write(1, 2, '数值分析')
sh1.write(1, 3, 88)
sh1.write(2, 0, '李四')
sh1.write(2, 1, '物联网工程')
sh1.write(2, 2, '数字信号处理分析')
sh1.write(2, 3, 95)
sh1.write(3, 0, '王华')
sh1.write(3, 1, '电子与通信工程')
sh1.write(3, 2, '模糊数学')
sh1.write(3, 3, 90)
# 写入第二个sheet
sh2.write(0, 0, '总分')
sh2.write(1, 0, 273)
# 最后保存文件即可
wb.save('test.xls')
以上代码是将之前我们输出的两个文档内容都读取出来,当然这里只是打印到控制台,并没有做其他处理。现在我们执行看下结果:👇
以上就是所有关于python对于Word的相应操作,具体复杂的操作还需要自己去学习,这里只是起到了抛砖引玉的效果。
「❤️ 感谢大家」
如果你觉得这篇内容对你挺有有帮助的话:
点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-) 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。 觉得不错的话,也可以阅读近期梳理的文章(感谢掘友的鼓励与支持🌹🌹🌹):
「❤️ 资源传送门」
1. 扫码关注【做一个柔情的程序猿】公众号
2. 在【做一个柔情的程序猿】后台回复 【python资料】【2020秋招】 获取相应资料
👆长按上方二维码 2 秒 回复「python资料」即可获取python学习资料 回复「2020秋招」即可获取2020秋招面试题及答案