日常办公中,无论你是程序员还是普通文职人员,操作 Word 一定在你的工作中占了非常大的比例。项目文档、需求分析文档、合同报价、方案等等,这一系列都需要在 Word 中进行完成。但如何更高效灵活的使用 Word 你知道么?本小节将介绍 Python 第三方库 python-docx 模块完成对 Word 的操作。

1. python-docx 模块介绍

python-docx 是用于创建和更新 Microsoft Word(.docx)文件的 Python 库。

通过本小节的学习,我们最终要完成 Word 文档 “info.docx” 的创建,文档内容(花式 pick 慕课网)如下图所示。

1.1 安装

python-docx 是 Python 的第三方库,使用前需要通过以下命令进行安装:

pip install python-docx

1.2 使用步骤

步骤 1:导入 docx 模块

from docx import Document

步骤 2:创建(读取)一个文档对象

document = Document() # 新建文档对象 Document("info.docx") #读取现有的word 建立文档对象

步骤 3:向文档中写入内容

根据 docx 提供的方法,完成 Word 文档所需内容的写入。

步骤 4:生成 Excel 文件

from docx import Document document = Document() # 新建文档对象 ...省略部分代码 document.save('C:/info.docx')# 保存文档

通过 save () 方法进行保存,生成 Word 文件,save () 方法可以传入你想要保存到的文件路径。到这里就完成了新的 Word 文档创建和内容写入的操作。

2. python-docx 操作 Word 写入

接下来,针对 python-docx 提供的常用写入方法进行讲解,这里根据写入内容的类型进行划分。

2.1 写入文本

写入文本内容常用方法见下表。

方法名

描述

add_heading(text=u’’, level=1)

写入标题段落

add_paragraph(text = u’’,style=None)

写入普通段落

insert_paragraph_before(text = u’’,style=None)

插入段落到现有段落之前

下面来具体看下每个方法的使用:

  1. add_heading () 使用:

from docx import Document document.add_heading('慕课网简介', level=1) document.save('info.docx')

代码解释:add_heading () 方法写入标题段落,段落样式由 level 决定,level 范围为 0 至 9,默认为 1。执行完成后,info.docx 文档效果如下图所示。

  1. add_paragraph () 使用:

from docx import Document document.add_heading('慕课网简介', level=1) p1 = document.add_paragraph( '慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。在这里,你可以找到最好的互联网技术牛人,也可以通过免费的在线公开视频课程学习国内领先的互联网IT技术') document.save('info.docx')

代码解释:add_paragraph () 方法写入段落,段落样式由 style 决定(本小节中仅写入段落,后续小节会对应用样式进行介绍),执行完成后,info.docx 文档效果如下图所示。

  1. insert_paragraph_before () 使用:

from docx import Document document.add_heading('慕课网简介', level=1) p1 = document.add_paragraph( '慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。在这里,你可以找到最好的互联网技术牛人,也可以通过免费的在线公开视频课程学习国内领先的互联网IT技术') p1.insert_paragraph_before('!!!慕课网是垂直的互联网IT技能免费学习网站') document.save('info.docx')

代码解释:insert_paragraph_before () 方法为插入段落到现有段落之前,段落样式由 style 决定。执行完成后,info.docx 文档效果如下图所示。

2.2 写入图片

写入图片方法,见下表。

方法

描述

add_picture(image_path_or_stream,width = None,height = None )

插入指定图片

对应代码中访问,如下所示:

from docx import Document from docx.shared import Pt document.add_heading('慕课网简介', level=1) ...省略部分代码 document.add_picture('logo.jpg') document.add_picture('logo.jpg', Pt(20), Pt(30)) document.save('info.docx')

代码解释:add_picture () 方法为插入指定图片,并根据宽度和高度缩放。如果未指定宽度或高度,则图片以其原始尺寸显示。代码中共插入了 2 张 logo 图片,第一张没有设置宽度和高度即按原始尺寸插入,第二张根据指定的宽度和高度按比例缩放,参数 Pt 为 points 磅,与字号对应可以参考下图。

执行完成后,info.docx 文档效果如下图所示。

2.3 写入表格

写入表格方法,见下表。

方法

描述

add_table(rows, cols)

插入指定行数、列数的表格

通过表格可以很好的展示列表形式的数据,下面使用 add_table () 方法创建一个关于最新课程的表格,包含课程名称、讲师和价格。代码如下所示:

...省略部分代码 # 插入表格(1行3列,表格应用样式Medium List 2) table = document.add_table(rows=1, cols=3, style='Medium List 2') # 获取到第一行中的单元格列表 header_cells = table.rows[0].cells header_cells[0].text = '新上好课' header_cells[1].text = '讲师' header_cells[2].text = '价格' # 初始化课程数据 data = ( ['Java实操避坑指南', "勤一", 298], ['Vue2.5->2.6->3.0 开发去哪儿网APP', "DELL", 266], ['Vue3.0(正式版) TS 仿知乎专栏企业级项目', "张轩", 298], ) # 循环课程数据 for item in data: # 使用add_row()方法创建新的一行 rows_cells = table.add_row().cells rows_cells[0].text = item[0] rows_cells[1].text = item[1] rows_cells[2].text = str(item[2]) document.save('info.docx')

代码解释:add_table () 方法为插入指定行数、列数的表格,参数 rows 为指定行数,cols 为指定列数,style 为表格应用的样式。代码中初始表格为 1 行 3 列,在填充处理的位置,通过遍历调用 add_row () 方法添加新的一行,为其设置各单元格内容。执行完成后,info.docx 文档效果如下图所示。

3. 小结

本节课程我们主要学习了 python-docx 模块的使用。本节课程的重点如下:

  • 了解 python-docx 模块作用及使用步骤;
  • 掌握 python-docx 模块中写入文本、图片、表格的使用方法。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

python自动化办公入门教程(办公自动化教程操作)相关推荐

  1. python自动化办公入门故事教案_Python自动化办公知识点整理汇总

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  2. Python自动化办公:xlrd万字教程

    Hi,我是山月. 相信很多小伙伴学Python都是奔着自动化办公来的,特别是对每天都要和excel打交道的小伙伴们来说. 之后山月也会给大家分享一些python处理excel的知识,希望大家多多支持~ ...

  3. Python自动化办公:pdf文档操作

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家介绍了python处理excel.word.ppt的相关教程,不知道大家学的怎么样? 在后台回复[自动化办公]即可 ...

  4. python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 文中的截图均为原创,转载请注明来源 安装 docx 是一个非标准库, ...

  5. 如何利用python自动化办公项目_python办公自动化:自动进行word文档处理和排版

    上节python办公自动化:自动打开word文档我们一起学会了在python里打开并保存一个word文档.这节我们将会学会如何利用python进行文本处理和将其在word里进行排版等技巧. pytho ...

  6. Python自动化办公 - 对Excel表格的操作(openpyxl的基本使用)

    素材.笔记文档下载 1 安装openpyxl Windows用户打开命令行输入:pip install openpyxl Mac用户打开终端/Terminal输入:pip3 install openp ...

  7. python自动化办公教程书籍_盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  8. Python自动化办公:openpyxl教程(基础)

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 前面给大家介绍了xlrd.xlwt的教程?? Python自动化办公:xlrd万字教程 Python自动化办公:xlwt万字 ...

  9. python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

最新文章

  1. 关于卷积神经网络的思考:将CNN视作泛函拟合
  2. ICCV 2021 | 最新开源!多视角几何和注意力机制实现新视角合成
  3. Web 上一页下一页 用超链接 用按钮
  4. java runnable main_Java 线程类问题写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法, * 用for循...
  5. go语言学习---使用os.Args获取简单参数(命令行解析)
  6. python怎么调出某年某月日历_Python 写的计算指定年指定月日历的脚本
  7. 2022.2.13java学习笔记
  8. android studio第三方调试,Android Studio直接运行调试签名包
  9. python将字典写入csv_Python如何把字典写入到CSV文件的方法示例
  10. IE8无法取得客户端完整路径的解决办法
  11. 51单片机串行通信原理
  12. 2022年BAT,京东,美团,滴滴等公司面试经验总结
  13. “竞速”智能网联汽车,领头雁为何是长沙?
  14. 电商路演投资计划融资报告PPT模板
  15. 学历对做软件测试的影响
  16. 初级——如何进行Android单元测试
  17. 光伏输出特性matlab,基于MATLAB的光伏模块输出特性及MPPT的建模与仿真
  18. GPS北斗授时卡(pci授时卡)卫星授时技术参数介绍
  19. 【优化控制】基于遗传算法实现优化LQR控制器含Matlab源码
  20. 点云的基本特征和描述

热门文章

  1. 四六级考试复习方法谈
  2. ElasticSearch--可视化工具--选型/对比
  3. 浏览器网页截屏实用小技巧
  4. android studio 的add as library选项在哪
  5. c语言for什么意思,C语言中for用法是什么?
  6. 2018夏天的俄罗斯之旅 之二
  7. Bacardi欢庆MARTINI诞生160周年
  8. VM创建的虚拟机磁盘不够用了,如何扩充磁盘?
  9. 计算机应用专业现代学徒制人才培养方案,制定现代学徒制专业人才培养方案的指导性意见...
  10. 数据分析真题日刷 | 小红书2019年校园招聘数据分析岗位在线笔试第一批