python操作word
python操作word
文章目录
- python操作word
- 1、需要安装`python-docx`库
- 2、导入相关包
- 3、操作word
- 3.1 读取word文件
- 3.2 修改段落文字,以及段落样式(风格和大小)
- 3.3 修改表格的中的内容
- 3.4 删除表格或段落
- 3.5 将document对象保存为docx文档
- 4、模板
- 4.1 更新表格函数
- 4.2 更新文本函数
1、需要安装python-docx
库
pip install python-docx
2、导入相关包
from docx import Document
from docx.oxml.ns import qn # 设置中文格式
from docx.shared import Pt # 设置字体大小
from docx.enum.table import WD_TABLE_ALIGNMENT # 居中
from docx.enum.text import WD_COLOR_INDEX # 背景颜色
from docx.shared import RGBColor # 字体颜色
3、操作word
3.1 读取word文件
# Document只能读取docx后缀的文件
document = Document("test.docx")# 获取word文档中的表格(返回列表)
tables = document.tables# 获取文档中的段落(返回列表)
par = document.paragraphs
3.2 修改段落文字,以及段落样式(风格和大小)
# 先清空文字
document.paragraphs[2].text = ""# 使用add_run添加文字,之后使用返回的run对象可以修改字体的样式和大小
run = document.paragraphs[2].add_run("2021年11月22日")
run.font.name = '仿宋'
run.font.size = Pt(16)
# 修改中文的样式
run.font.element.rPr.rFonts.set(qn('w:eastAsia'),'仿宋')
3.3 修改表格的中的内容
# 查看所有表格的内容
for table in document.tables: # 遍历所有表格for row in table.rows: # 遍历表格的所有行row_str = '\\t'.join([cell.text for cell in row.cells]) # 一行数据print(row_str,end="\\n\\n")# 提取表格单元格中的段落,然后就可以使用add_run方法,添加文字,使用run对象修改字体大小和样式
par = tables[0].cell(0,1).paragraphs[0]
# 水平居中
par.paragraph_format.alignment = WD_TABLE_ALIGNMENT.CENTER
run = par.add_run("测试")
run.font.name = '仿宋'
run.font.size = Pt(12)
r = run._element
r.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')
3.4 删除表格或段落
# 删除表格
t = document.tables[0]._element # 获取表格元素
t.getparent().remove(t) # 删除这个元素# 删除段落
p = document.paragraphs[6]._element # 获取段落元素
p.getparent().remove(p) # 删除这个元素
3.5 将document对象保存为docx文档
document.save("测试1.docx")
4、模板
4.1 更新表格函数
# ind,第几个表格; x,单元格位置,例如:(1,1);text,更新单元格的文本
def set_table(ind, x, text):document.tables[ind].cell(x[0], x[1]).value = ""par = document.tables[ind].cell(x[0], x[1]).paragraphs[0]run = par.add_run(text)run.font.name = '仿宋'run.font.size = Pt(16) # 二号r = run._elementr.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')# 修改文字颜色run.font.color.rgb = RGBColor(0, 137, 62)# 添加背景色,为黄色run.font.highlight_color = WD_COLOR_INDEX.YELLOW# 文字加粗run.bold = True
4.2 更新文本函数
# ind,第几段段落;text,更新段落的文本
def set_text(ind, text):document.paragraphs[ind].text = ""run = document.paragraphs[ind].add_run(text)run.font.name = '仿宋'run.font.size = Pt(16)run.font.element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋')run.font.highlight_color = WD_COLOR_INDEX.YELLOW # 添加背景色,为黄色
python操作word相关推荐
- python操作word文档(python-docx)
python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...
- python入门教程2word-使用python操作word
前言 最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式.由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word. 说明 该代码记录了对word ...
- python入门教程2word-入门干货:Python操作Word文件经验分享
原标题:入门干货:Python操作Word文件经验分享 导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通 ...
- Python 操作Word文档插入图片和表格实例演示
Python 操作Word文档插入图片和表格实例演示 效果图 实现过程 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Pytho ...
- python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示
前言P6Q免费资源网 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码P6Q免费资源网 实例代码: ...
- 使用python操作word
前言 最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式.由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word. 说明 本代码来源于官方文档( ...
- python制作合同模板带图片_办公自动化7_用Python操作Word批量生成合同
########## 实例7:用Python操作Word批量生成合同 ################ ''' 来源网上整理 ,供学习使用. 我们建立的模板和合同信息如下图所示:这里有几个注意事项: ...
- python操作word详细操作_Python操作Word的入门教程
Python操作Word的入门教程 前言 今天来介绍下,如何用 Python 来操作 Word. 再来介绍操作 Word 之前,先来说一个最近看书学到的法则,即 3W 法则. 3W:3W分别指 Wha ...
- python操作word、ppt、pdf
1.python操作word 相关概念:目前使用的Word文件后缀名一般为.docx 可以实现的功能:官方文档 需要导入的库: lxml是一个Python库,使用它可以轻松处理XML和HTML文件,还 ...
- 【基础】python操作Word时,自动更新目录(二)
系列文 python-docx-template包之----为文字自定义格式(一) python-docx-template包之----设置表格(二) python-docx-template包之-- ...
最新文章
- java.lang.Thread 和 java.lang.Runnable的区别
- 史上最全JS表单验证封装类
- task文件服务器无法输入,求助大神,win10的输入法无法使用,去开task sche
- 已编辑好的mysql_如何修改一个已存在的数据库名称?
- hive增量表和全量表_hive 拉链表 实现全量数据 增量更新
- 现代软件工程 作业 第一周博客作业
- 浅谈Aho-Corasick automaton(AC自动机)
- [ECMAScript] module、export、import分别有什么作用?
- JedisConnectionException: java.Net.SocketTimeoutException: Read timed
- FPGA _Verilog HDL_计数器实现数字钟60秒计数设计实验
- apache http server 停止工作_Springboot以Tomcat为容器实现http重定向到https的两种方式
- shell脚本基础 (一)
- 面试必会 InnoDB的多版本并发控制(MVCC)
- wechat微信模板消息推送demo
- c语言程序图片截取,C++实现屏幕截图功能
- GIM三维建模设计软件
- 计算机网络(一):网络层次划分及各层的网络协议
- python如何开发网站_如何用Python写一个小网站?
- Data-free量化
- G1与CMS垃圾回收