python 读取word_教你怎么使用 Python 对 word文档 进行操作

使用Python对word文档进行操作

251269c757fb067110fe396a28478710.png

一、安装Python-docx

Python-docx是专门针对于word文档的一个模块,只能读取docx 不能读取doc文件。说白了,python就相当于windows操作系统,QQ就是跑在windows操作系统上的软件,QQ最大的作用是可以去聊天,说话。 在这里python-docx就相当于这里的qq 它主要的功能是对docx文件进行操作,管理等.

成长离不开与优秀的同伴共同交流,如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱Python的小伙伴,Python学习圈

1.1、安装Python-docx

1.1.1、使用虚拟环境安装python-docx

pip install python-docx # 安装命令

安装结束后,在此虚拟环境中运行Jupyter notebook

jupyter notebook

1.1.2、切换工作目录(使用 %cd命令)

%cd F:python_test1Python_office # 进入目录
%pwd # 查看当前的工作目录
>>>'F:python_test1Python_office' # 输出结果

二、对word文档进行编辑

在对word文档编辑之前需要导入Document模块如下:

from docx import Document
Doc = Document() 
解释:from 从 docx这个文件中,导入一个叫Document的一个东西,Document是文档的意思,所以它是对word文档进行操作的一个玩意. 在下面Doc = Document() 可以理解为 Document就是一个类,这个操作也就是实例化的过程,生成对象为:Doc

那Document实例化了一个Object叫Doc 那么Doc肯定会有很多的方法,这些方法就是对word文档进行操作的方法如下:

Doc.add_heading("Python是什么东西???")
<docx.text.paragraph.Paragraph at 0x28033582e48>
# Doc.add_heading 意思是添加一个叫做heading的一个东西在这里heading指的是标题的意思,也就是添加一个标题叫做python是什么东西???运行完成后它会生成一个对象.

2.1、添加一个段落(paragraph)

Doc.add_paragraph("Python是一种面向对象的编程语言~~~") # 在这里paragraph指的就是一个段落的意思
<docx.text.paragraph.Paragraph at 0x280335a17b8>

2.2、添加多个段落(paragraph)

Doc.add_paragraph("Python ")
Doc.add_paragraph("Python 对word进行操作")

2.3、如何查看word文档?

写完之后我们需要查看首先需要保存 如下:

Doc.save("Python_word.docx")
# save:保存 为名字叫:Python_word.docx 的文件

三、如何添加一级标题,二级标题,三级标题…?

3.1、添加一级标题

Doc = Document()
Doc.add_heading("这是一级标题",level=1)
Doc.add_heading("这是二级标题",level=2)
Doc.add_heading("这是三级标题",level=3)
Doc.add_heading("这是四级标题",level=4)
Doc.save("标题.docx")

打开效果如下:

四、如何添加一个副级标题?

Doc.add_heading("这是一个一级标题",level=1)
Doc.add_paragraph("这是一个副标题","Subtitle")
Doc.save("副标题.docx")

五、查看已有的样式

5.1、查看paragraph有哪些样式

from docx.enum.style import WD_STYLE_TYPE
for i in Doc.styles:if i.type == WD_STYLE_TYPE.PARAGRAPH:print(i.name)
>>>
Normal
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Heading 7
Heading 8
Heading 9
No Spacing
Title
Subtitle
List Paragraph
Body Text
Body Text 2
Body Text 3
List
List 2
List 3
List Bullet
List Bullet 2
List Bullet 3
List Number
List Number 2
List Number 3
List Continue
List Continue 2
List Continue 3
macro
Quote
Caption
Intense Quote
TOC Heading

5.2、查看文字有哪些样式

from docx.enum.style import WD_STYLE_TYPE
for i in Doc.styles:if i.type == WD_STYLE_TYPE.CHARACTER:print(i.name)
>>>
Default Paragraph Font
Heading 1 Char
Heading 2 Char
Heading 3 Char
Title Char
Subtitle Char
Body Text Char
Body Text 2 Char
Body Text 3 Char
Macro Text Char
Quote Char
Heading 4 Char
Heading 5 Char
Heading 6 Char
Heading 7 Char
Heading 8 Char
Heading 9 Char
Strong
Emphasis
Intense Quote Char
Subtle Emphasis
Intense Emphasis
Subtle Reference
Intense Reference
Book Title

案例:

from docx import Document
%cd D:YanZan_python2018word
Docx = Document()
Docx.add_heading("这是一个一级标题",level=1)
Docx.add_paragraph("这是一个副级标题","Title")
A = Docx.add_paragraph("My name is aaa")
A.add_run("我学习的很快乐,啊哈哈哈哈哈,非常好 Good!!!")
Docx.add_heading("这是一个二级标题",level=2)
A = Docx.add_paragraph("这个是二级标题的内容呀")
B = A.add_run("二级标题里面的正文 继续添加!!!!!!!")
B.font.bold = True # 同时我要对这些正文进行加粗~~~~
B.font.size = (20)
Docx.add_heading("我爱学习Python以下就是python的logo呀",level=3)
Docx.add_picture("1.png")
Docx.add_table(rows=5, cols=5)
Docx.save("Python.docx")

ecfff39450809997ba52b36ce958bece.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[国嵌攻略][084][信号同步编程]

进程同步 一组并发进程进行相互合作、相互等待&#xff0c;使得各进程按一定的顺序执行的过程称为进程间的同步。 进程同步与进程互斥 进程同步问题的关键在于生产者不需要获取信号量&#xff0c;消费者不需要释放信号量&#xff0c;所以信号量的初值设置为0。但是进程互斥问题…

android 控件覆盖关系,安卓子控件抢占父控件点击事件或者焦点问题

开发中很常见的一个问题&#xff0c;项目中的lListview不仅仅是简单的文字&#xff0c;常常需要自己定义listview&#xff0c;自己的Adapter去继承BaseAdapter&#xff0c;在adapter中按照需求进行编写&#xff0c;问题就出现了&#xff0c;可能会发生点击每一个item的时候没有…

stm32cubemx adc_STM32CubeMX__Exp5_ADC1_2CH_DMA_TIM3_Trig__简明指导文件__jyb

用定时器TIM3触发DMA方式的双通道ADC定时采样&#xff1a;拷贝STM32CubeMX工程文件LED_Flash_PC12.ioc&#xff0c;修改为&#xff1a;Exp5_ADC1_2CH_DMA_TIM3_Trig.ioc(1)配置ADC1的通道和参数配置ADC通道参数(2)配置ADC1的DMA①通过点"Add"按钮&#xff0c;添加ADC…

JS 实现 jQuery的$(function(){});

1、浏览器渲染引擎的HTML解析流程 何谓“渲染”&#xff0c;其实就是浏览器把请求到的HTML内容显示出来的过程。渲染引擎首先通过网络获得所请求文档的内容&#xff0c;通常以8K分块的方式完成。下面是渲染引擎在取得内容之后的基本流程&#xff1a; 1&#xff0c;解析html以构…

linux ora-00031,kill session遇到ORA-00031錯誤

今天在處理一個表被鎖死的問題時&#xff0c;遇到ORA-00031: 這個階段作業將被標示為要終結的階段作業具體操作步驟如下&#xff1a;1. 先確認鎖定資源的session信息select OS_USER_NAME,s.MACHINE ,object_name as對象名稱,s.sid,s.serial#,p.spid as系統進程號from v$locked_…

html 分页_MySQL——优化嵌套查询和分页查询

Java识堂&#xff0c;一个高原创&#xff0c;高收藏&#xff0c;有干货的微信公众号&#xff0c;欢迎关注优化嵌套查询嵌套查询(子查询)可以使用SELECT语句来创建一个单列的查询结果&#xff0c;然后把这个结果作为过滤条件用在另一个查询中。嵌套查询写起来简单&#xff0c;也…

从原理上搞定编码-- Base64编码

开发者对Base64编码肯定很熟悉&#xff0c;是否对它有很清晰的认识就不一定了。实际 上Base64已经简单到不能再简单了&#xff0c;如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容&#xff0c;花几分钟时间就可以彻底理解它。文 章下边贴了一个Base64的编…

android 点击选择文件夹,Android----弹出框选择文件夹目录以及启用新Task打开文件_IT168文库.pdf...

Android弹弹 出出框框 选选择择 文文件件 夹夹 目目录录 以以及及 启启用用新新 的的T ask打打 开开文文件件首首先先看看效效果果 图图第第一一个个 Act iv it y很很简简单单就就 一一个个按按钮钮 But t o n 加加一一个个 T ext View见见 main.xm l[[ cc -- ss hh aa rr pp ]…

docker mysql总是退出_Docker提升测试效率之路

现如今&#xff0c;Docker已经成为了很多公司部署应用、服务的首选方案。依靠容器技术&#xff0c;我们能在不同的体系结构之上轻松部署几乎任何种类的应用。作为测试一方&#xff0c;我们应与时俱进&#xff0c;将Docker容器技术应用到测试工作中。为了让小伙伴们可以快速上手…

2016030206 - mysql常用命令

参考地址如下&#xff1a; http://www.cnblogs.com/linjiqin/archive/2013/03/01/2939384.html http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.html 用户登陆 mysql> mysql -u 用户名 -p 密码;  例子&#xff1a; mysql>mysql -u root -p&#xff1b; 输…

32位mysql安装包_软件测试基础——Linux系统搭建MySQL数据库

一、mysql下载1. 下载&#xff1a;官方网址:https://dev.mysql.com/downloads/mysql/2. 选择相应的版本&#xff0c;由于cenos是基于红帽的&#xff0c;所以Select Operating System选择Red Hat...。我所用的镜像为cenos7所以Red Hat....linux7&#xff0c;一定要选相应的版本&…

android webview 获取 title,【报Bug】app webview 安卓机 title显示问题

// #ifdef APP-PLUSvar that this;that.statusBarHeight uni.getSystemInfoSync().statusBarHeight;var w plus.webview.create(this.weburl, id, {// top: uni.getSystemInfoSync().statusBarHeight 44 ,//放置在titleNView下方。如果还想在webview上方加个地址栏的什么的…

easyphp环境配置

apache的配置文件httpd.conf // apache/conf //修改http.conf这个文件的编辑权限 <Directory /> Options All AllowOverride All Order deny,allow Allow from all </Directory> LoadModule php5_module "E:/PROGRA~1/EASYPH~1.9/php/php539x141026161807/ph…

android wifi 组播,在Android上显示实时UDP或RTP流(多播)

我已经尝试从播放器(Daroon播放器&#xff0c;PlayStore)读取它&#xff0c;它运行良好&#xff0c;所以我认为我的愚蠢问题不是由于广播 .我看到可以通过不同的方式向用户显示视频内容&#xff1a;在ACTION_VIEW中使用新的Intent&#xff0c;Android会选择可以查看内容的应用程…

python gevent模块 下载_Python中的多任务,并行,并发,多线程,多进程,协程区别...

多任务CPU承担了所有的计算任务。一个CPU在一个时间切片里只能运行一个程序。当我们想同时运行多于一个程序的时候&#xff0c;就是多任务&#xff0c;例如同时运行微信&#xff0c;QQ&#xff0c;浏览器等等。多任务的目的是提升程序的执行效率&#xff0c;更充分利用CPU的资源…

uniapp点击通知android,分享uniapp使用原生Android推送消息(内推)以及点击通知监听数据...

前言由于用uniapp官方的plus.push.createMessage()在Android平台下推送通知无法显示推送时间&#xff0c;需要调用原生Android推送通知。在社区综合了各大神的代码&#xff0c;具体如下&#xff1a;推送推送事件&#xff1a;/*** android原生通知发送* param content 通知内容*…

电脑安装python后开不了机_ubuntu 安装python3.6后,terminal终端打不开问题

由于Ubuntu16.04&#xff0c;自带Python2.7和Python3.5 当我安装完Python3.6.5后,terminal终端打不开了, jekayjekay-pc:~$ gnome-terminal Traceback (most recent call last): File "/usr/bin/gnome-terminal", line 9, in from gi.repository import GLib, Gio F…

DIY小能手|别买电动滑板车了,咱做一台吧

!! http://www.shoudian.org/thread-316111-1-1.html http://www.jiequer.com/html/news/xinpin/2014/1218/223.html http://bbs.mydigit.cn/read.php?tid930053转载于:https://www.cnblogs.com/carl2380/p/5239022.html

setid android,android-如何将setId()用于imageView

我在GridViewAdapter类中在此处创建了一个imageView&#xff1a;Overridepublic View getView(int position, View convertView, ViewGroup parent) {// Try to reuse the viewsImageView view (ImageView) convertView;boolean checked (mCheckBoxnull)?false:(((CheckBox)…

vue-router 路由嵌套显示不出来_网络协议|OSI模型第三层网络层中的路由

的IP协议OSI第二层中用以太网协议定义了信息传输单元&#xff0c;简称为帧&#xff0c;它长这个样子。同样的在OSI第三层中&#xff0c;会用 IP 协议去定义信息传输单元&#xff0c;简称为数据包&#xff0c;它长这个样子。实际上&#xff0c;最终在网络上传输的是第二层的帧&a…