Python读写docx文件的方法


Posted in Python onMay 08, 2018

Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip install python-docx安装一下。

这里说一句,ppt和excel也有类似的库哦,而且是直接读取文件里面的xml数据。所以doc格式得另找其他库处理,doc格式不是基于xml的。

帮助文档:http://python-docx.readthedocs.org/en/latest/

1、新建或打开文件。这个比较简单用docx的Document类,若指定路径则是打开文档;若没有指定路径则是新建文档

#coding:utf-8
import docx
 
#新建文档
doc_new = docx.Document()
 
#读取文档
doc = docx.Document(ur'C:\1.docx')

2、保存文件。有打开,就有保存。用Document类的save方法,其中参数是保存的文件路径,或者要保存的文件流。一般指定路径即可。

doc.save(path_or_stream)

3、对象集合。python-docx包含了word文档的相关对象集合。

doc.paragraphs #段落集合
doc.tables #表格集合
doc.sections #节 集合
doc.styles #样式集合
doc.inline_shapes #内置图形 等等...

4、插入段落。段落是word最基本的对象之一。

doc.add_paragraph(u'第一段',style=None) #插入一个段落,文本为“第一段”
#默认是不应用样式,这里也可以不写style参数,或者指定一个段落样式
doc.add_paragraph(u'第二段',style='Heading 2')
 
#这些样式都是word默认带有的样式,可以直接罗列出来有哪些段落样式
print [s.name for s in doc.styles if s.type==1]

5、新增样式。这个帮助文档里面说得不仔细,而且还是英文的。我手头上的项目用到这个,就自己琢磨出怎么使用,如下。

#coding:utf-8
from docx import Document
from docx.shared import RGBColor #这个是docx的颜色类
 
#新建文档
doc = Document()
 
#新增样式(第一个参数是样式名称,第二个参数是样式类型:1代表段落;2代表字符;3代表表格)
style = doc.styles.add_style('style name 1', 2)
 
#设置具体样式(修改样式字体为蓝色,当然还可以修改其他的,大家自己尝试)
style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)

6、应用字符样式。字符自然是在段落里面的,可以采用下面方法给段落追加文字和设置字符样式。

#插入一个空白段落
p = doc.add_paragraph('')
p.add_run('123', style="Heading 1 Char")
p.add_run('456')
p.add_run('789', style="Heading 2 Char")
 
#这样一个段落就应用了两个字符样式,中间“456”就没应用样式
print p.text #输出结果是u'123456789' 也还是连续的

7、设置字体。当然可以不用通过设置样式对某些字进行设置,也可以直接设置。

p = doc.add_paragraph('')
r = p.add_run('123')
r.font.bold = True #加粗
r.font.italic = True #倾斜 等等...

8、表格操作。表格也是经常用到的一种对象类型。

#新建一个2x3的表格,style可以不写
table=doc.add_table(rows=2,cols=3,style=None)
 
#可以用table 的rows和columns得到这个表格的行数和列数
print len(table.rows)
print len(table.columns)
 
#遍历表格
for row in table.rows:
 row.cells[0].text = '1'
 #print row.cells[0].text
 
#新增行或列
table.add_row()
table.add_column()

Word常见操作差不多就是这些。大家可以查看帮助文档,也可以用dir和help查看对象的方法属性和帮助。

以上这篇Python读写docx文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
详解Python2.x中对Unicode编码的使用
Apr 03 Python
详解Django中的权限和组以及消息
Jul 23 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
pytorch构建网络模型的4种方法
Apr 13 Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 Python
PHP统计代码行数的小代码
Sep 19 Python
Python ATM功能实现代码实例
Mar 19 Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 Python
Python如何使用神经网络进行简单文本分类
Feb 25 Python
Python利用folium实现地图可视化
May 23 Python
python docx 中文字体设置的操作方法
May 08 #Python
Python解析并读取PDF文件内容的方法
May 08 #Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 #Python
对Python中gensim库word2vec的使用详解
May 08 #Python
用python处理MS Word的实例讲解
May 08 #Python
基于python批量处理dat文件及科学计算方法详解
May 08 #Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 #Python
You might like
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
跟老齐学Python之Python安装
2014/09/12 Python
python实现二分查找算法
2017/09/21 Python
3分钟学会一个Python小技巧
2018/11/23 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
Python2与Python3的区别详解
2020/02/09 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
写给保洁员表扬信
2014/01/08 职场文书
经典促销广告词大全
2014/03/19 职场文书
学雷锋日活动总结
2015/02/06 职场文书
入党转正申请报告
2015/05/15 职场文书
离婚起诉书范文2016
2015/11/26 职场文书