社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python快速设置Word文件中指定段落为目录标题

Python小屋 • 5 年前 • 1971 次点击  

推荐图书:

《Python程序设计(第3版)》,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年1月第6次印刷,山东省一流本科课程“Python应用开发”配套教材清华大学出版社2020年度畅销图书(本书第二版为2019、2020年度畅销图书)

京东购买链接:https://item.jd.com/12668739.html

天猫、当当均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源:教学大纲、电子教案、微课视频、PPT课件、例题源码、习题答案、考试系统。
适用专业:计算机、网络工程、软件工程以及相关专业。
适用学时:>=64
页数:381
定价:59.8
教学大纲:《Python程序设计(第3版)》配套教学大纲
习题答案: 《Python程序设计(第3版)》课后习题答案


目录(二级)


第1章  基础知识/1

    1.1  如何选择Python版本

    1.2  Python安装与简单使用

    1.3  使用pip管理扩展库

    1.4  Python基础知识

    1.5  Python代码编写规范

    1.6  Python文件名

    1.7  Python程序的__name__属性

    1.8  编写自己的包

    1.9  Python快速入门

    1.10  The Zen of Python

第2章  Python数据结构/31

    2.1  列表

    2.2  元组

    2.3  字典

    2.4  集合

    2.5  其他数据结构

第3章  选择与循环/67

    3.1  运算符与条件表达式

    3.2  选择结构

    3.3  循环结构

    3.4  break和continue语句

    3.5  综合运用

第4章  字符串与正则表达式/83

    4.1  字符串 

    4.2  正则表达式

第5章  函数设计与使用/115

    5.1  函数定义

    5.2  形参与实参

    5.3  参数类型

    5.4  return语句

    5.5  变量作用域

    5.6  lambda表达式

    5.7  案例精选

    5.8  高级话题

第6章  面向对象程序设计/138

    6.1  类的定义与使用

    6.2  类的方法

    6.3  属性

    6.4  特殊方法与运算符重载

    6.5  继承机制

第7章  文件操作/158

    7.1  文件基本操作

    7.2  文本文件基本操作

    7.3  二进制文件操作

    7.4  文件级操作

    7.5  目录操作

    7.6  案例精选

第8章  异常处理结构与程序调试/181

    8.1  基本概念

    8.2  Python异常类与自定义异常

    8.3  Python中的异常处理结构

    8.4  断言与上下文管理

    8.5  使用IDLE调试代码

    8.6  使用pdb模块调试程序

第9章  GUI编程/199

    9.1  tkinter基础

    9.2  tkinter精彩编程

第10章  网络程序设计/230

    10.1  计算机网络基础知识

    10.2  UDP和TCP编程

    10.3  Socket编程案例精选

    10.4  网页内容读取与网页爬虫

第11章  安卓平台的Python编程/248

    11.1  QPython简介

    11.2  安卓应用开发案例

第12章  Windows系统编程/254

    12.1  注册表编程

    12.2  创建可执行文件

    12.3  调用外部程序

    12.4  创建窗口

    12.5  判断操作系统版本

    12.6  系统运维

第13章  多线程与多进程编程/273

    13.1  threading模块

    13.2  Thread对象

    13.3  线程同步技术

    13.4  多进程编程

第14章  数据库编程/294

    14.1  SQLite应用

    14.2  访问其他类型数据库

第15章  多媒体编程/306

    15.1  图形编程

    15.2  图像编程

    15.3  音乐编程

    15.4  语音识别

    15.5  视频处理和摄像头接口调用

第16章  逆向工程与软件分析/328

    16.1  主流项目与插件简介

    16.2  IDAPython与Immunity Debugger编程

    16.3  Windows平台软件调试原理

    16.4  案例精选

第17章  科学计算与可视化/349

    17.1  numpy简单应用

    17.2  scipy简单应用

    17.3  matplotlib简单应用

    17.4  数据分析模块pandas

    17.5  统计分析模块statistics

第18章  密码学编程/377

    18.1  安全哈希算法

    18.2  对称密钥密码算法DES和AES

    18.3  非对称密钥密码算法RSA与数字签名算法DSA




=======================

先讲一个真事:
几年前,和某很大平台的一位经理聊天。起因是我发现他们偌大一个平台居然没有数据导入功能,数据删除这样的重要操作也没有日志,并且没有回收站可以找回丢失的数据。如果要上线一门课程,几百道习题和相应的选择题上千个选项必须手工一题一题录入,一旦数据丢失就需要重复录入。我问“为什么不设计一个Excel模板,老师们线下整理好直接导入就行,那样会方便很多啊”,答曰“那样老师们会因为操作不熟练而出错”。。。
进入正题:
假设有一个Word文档,内容分为很多章节,现在要想生成目录,该怎么办呢?肯定有人会说,逐个章节标题设置好目录级别,然后直接生成就可以了。如果章节标题非常多的话,可以使用格式刷啊。如果有三级标题,先设置好一个一级标题以后去刷所有一级标题,然后设置好一个二级标题去刷所有二级标题,最后设置一个三级标题再去刷所有三级标题,不过是多花点时间而已。
但是,可以想象,如果页数非常多的话,鼠标来回滚动花时间不说,人工操作也非常容易出错、遗漏、误刷,可能需要反复修改很多次才行。
那么如何快速又准确地完成这个任务呢?使用Python可以吗?答案是肯定的。
下面来演示一下如何使用Python快速又准确地设置Word文档中章节标题,编写一段代码生成随机内容,

把程序输出的内容复制到Word文档中,如图,

把得到的Word文档保存为速设置章节标题.docx接下来要做的事情是,把所有以数字开头然后空格后面是文本的段落设置为对应级别的标题,如果开头只有一个字就设置为一级标题一个圆点分隔的两个数字开头的段落设置为二级标题,以两个圆点分隔的三个数字开头的段落设置为三级标题。
首先,打开文件“快速设置章节标题.docx”,手工设置一个一级标题、一个二级标题和一个三级标题,保存文件。这一步很重要,结果如图,

安装Python扩展库python-docx,编写程序,如下,

运行程序,得到的新文件形式如下,

在需要插入目录的位置单击鼠标确定光标位置,然后按上图中箭头所指依次展开,在弹出的窗口中选择生成三级目录,

生成的目录如图,



温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(累计印刷超过120次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过500节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习1318道客观题和194道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107666