前言
这次梳理的篇幅主要是涉及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-docxLooking in indexes: https://pypi.doubanio.com/simpleCollecting python-docxDownloading https://pypi.doubanio.com/packages/e4/83/c66a1934ed5ed8ab1dbb9931f1779079f8bca0f6bbc5793c06c4b5e7d671/python-docx-0.8.10.tar.gz (5.5MB)|████████████████████████████████| 5.5MB 3.2MB/sRequirement 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-docxBuilding wheel for python-docx (setup.py) ... doneCreated wheel for python-docx: filename=python_docx-0.8.10-cp37-none-any.whl size=184496 sha256=7ac76d3eec848a255b4f197d07e7b78ab33598c814d536d9b3c90b5a3e2a57fbStored in directory: C:\Users\Y\AppData\Local\pip\Cache\wheels\05\7d\71\bb534b75918095724d0342119154c3d0fc035cedfe2f6c9a6cSuccessfully built python-docxInstalling collected packages: python-docxSuccessfully installed python-docx-0.8.10
OK,如果提示以上信息则安装成功。
python下写入Word
平时我们在操作 Word 写文档的时候,一般分为几部分:标题、章节、段落、图片、表格、引用以及项目符号编号等。下面我们就按这几部分如何用 Python 操作来一一介绍。
标题
# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn# 新建空白文档doc1 = Document()# 新增文档标题doc1.add_heading('如何使用 Python 创建和操作 Word',0)# 保存文件doc1.save('word1.docx')
这样就完成了创建文档和文章标题的操作,下面运行程序,会生成名为 word1.docx 的文档,打开文章显示如下图所示:👇

章节与段落
# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom 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 Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qnfrom 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._elementr.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 Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom 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].cellshdr_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().cellsrow_cells[0].text = str(id)row_cells[1].text = namerow_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('汇总')# 然后按照位置来添加数据,第一个参数是行,第二个参数是列# 写入第一个sheetsh1.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)# 写入第二个sheetsh2.write(0, 0, '总分')sh2.write(1, 0, 273)# 最后保存文件即可wb.save('test.xls')
以上代码是将之前我们输出的两个文档内容都读取出来,当然这里只是打印到控制台,并没有做其他处理。现在我们执行看下结果:👇

以上就是所有关于python对于Word的相应操作,具体复杂的操作还需要自己去学习,这里只是起到了抛砖引玉的效果。
「❤️ 感谢大家」
如果你觉得这篇内容对你挺有有帮助的话:
点赞支持下吧,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-) 欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程。 觉得不错的话,也可以阅读近期梳理的文章(感谢掘友的鼓励与支持🌹🌹🌹):
「❤️ 资源传送门」
1. 扫码关注【做一个柔情的程序猿】公众号
2. 在【做一个柔情的程序猿】后台回复 【python资料】【2020秋招】 获取相应资料

👆长按上方二维码 2 秒 回复「python资料」即可获取python学习资料 回复「2020秋招」即可获取2020秋招面试题及答案




