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相关推荐

  1. python操作word文档(python-docx)

    python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...

  2. python入门教程2word-使用python操作word

    前言 最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式.由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word. 说明 该代码记录了对word ...

  3. python入门教程2word-入门干货:Python操作Word文件经验分享

    原标题:入门干货:Python操作Word文件经验分享 导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通 ...

  4. Python 操作Word文档插入图片和表格实例演示

    Python 操作Word文档插入图片和表格实例演示 效果图 实现过程 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Pytho ...

  5. python操作word文档中的图片_Python操作word文档插入图片和表格的实例演示

    前言P6Q免费资源网 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码P6Q免费资源网 实例代码: ...

  6. 使用python操作word

    前言 最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式.由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word. 说明 本代码来源于官方文档( ...

  7. python制作合同模板带图片_办公自动化7_用Python操作Word批量生成合同

    ########## 实例7:用Python操作Word批量生成合同 ################ ''' 来源网上整理 ,供学习使用. 我们建立的模板和合同信息如下图所示:这里有几个注意事项: ...

  8. python操作word详细操作_Python操作Word的入门教程

    Python操作Word的入门教程 前言 今天来介绍下,如何用 Python 来操作 Word. 再来介绍操作 Word 之前,先来说一个最近看书学到的法则,即 3W 法则. 3W:3W分别指 Wha ...

  9. python操作word、ppt、pdf

    1.python操作word 相关概念:目前使用的Word文件后缀名一般为.docx 可以实现的功能:官方文档 需要导入的库: lxml是一个Python库,使用它可以轻松处理XML和HTML文件,还 ...

  10. 【基础】python操作Word时,自动更新目录(二)

    系列文 python-docx-template包之----为文字自定义格式(一) python-docx-template包之----设置表格(二) python-docx-template包之-- ...

最新文章

  1. java.lang.Thread 和 java.lang.Runnable的区别
  2. 史上最全JS表单验证封装类
  3. task文件服务器无法输入,求助大神,win10的输入法无法使用,去开task sche
  4. 已编辑好的mysql_如何修改一个已存在的数据库名称?
  5. hive增量表和全量表_hive 拉链表 实现全量数据 增量更新
  6. 现代软件工程 作业 第一周博客作业
  7. 浅谈Aho-Corasick automaton(AC自动机)
  8. [ECMAScript] module、export、import分别有什么作用?
  9. JedisConnectionException: java.Net.SocketTimeoutException: Read timed
  10. FPGA _Verilog HDL_计数器实现数字钟60秒计数设计实验
  11. apache http server 停止工作_Springboot以Tomcat为容器实现http重定向到https的两种方式
  12. shell脚本基础 (一)
  13. 面试必会 InnoDB的多版本并发控制(MVCC)
  14. wechat微信模板消息推送demo
  15. c语言程序图片截取,C++实现屏幕截图功能
  16. GIM三维建模设计软件
  17. 计算机网络(一):网络层次划分及各层的网络协议
  18. python如何开发网站_如何用Python写一个小网站?
  19. Data-free量化
  20. G1与CMS垃圾回收

热门文章

  1. kityminder-editor 百度脑图与my-mind 使用体验
  2. C++ 后退前进资源浏览器实现方式,附代码
  3. Nuscenes——环视相机下BEV时序融合:前后帧空间对齐操作
  4. nmos和pmos区别、工作原理及基本结构详解
  5. 天风掌财社新股认购如何操作?
  6. firefox关于about:config的常用配置
  7. BIRD 与 BGP 的新手开场 --转
  8. 搭建 WordPress 博客教程
  9. html5简单的数字加法效果
  10. charles抓包(别名:茶壶)