-
2021-09-02 12:02:04更多相关内容
-
libreoffice python 操作word及excel文档的方法
2020-09-19 03:50:40主要介绍了libreoffice python 操作word及excel文档的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
Python 操作 Word
2021-11-20 13:52:16Python 操作 Word 用 docx 模块读取 Word docx 安装 cmd 中输入pip install python-docx 即可安装 docx 模块 docx 常用函数 创建空白文档 from docx import Document document = Document() document.save("word....Python 操作 Word
用 docx 模块读取 Word
docx 安装
cmd 中输入
pip install python-docx
即可安装docx
模块docx 常用函数
创建空白文档
from docx import Document document = Document() document.save("word.docx") # 生成空白 word print(document)
读取文档
from docx import Document document = Document("word.docx") # 读取现有的 word 建立文档对象
获取文档段落
from docx import Document document = Document("word.docx") # 读取现有的 word 建立文档对象 all_paragraphs = document.paragraphs print(type(all_paragraphs)) for paragraph in all_paragraphs: # print(paragraph.paragraph_format) # 打印出word中每段的样式名称 # 打印每一个段落的文字 print(paragraph.text) # 循环读取每个段落里的run内容 # 一个run对象是相同样式文本的延续 for paragraph in all_paragraphs: for run in paragraph.runs: print(run.text) # 打印run内容
Word 调整样式
from docx import Document from docx.shared import Pt, RGBColor document = Document() # 读取现有的 word 建立文档对象 # 二、写入内容 # 段落 p1 = document.add_paragraph("早睡早起!!!") format_p1 = p1.paragraph_format # 左右缩进 format_p1.left_indent = Pt(20) format_p1.right_indent = Pt(20) # 首行缩进 format_p1.first_line_indent = Pt(20) # 行间距 format_p1.line_spacing = 1 # 追加 # 一个run对象是相同样式文本的延续 run = p1.add_run("我也想做舔狗\n") # 字体,字号,文字颜色 run.font.size = Pt(12) run.font.name = "微软雅黑" run.font.color.rgb = RGBColor(235, 123, 10) run1 = p1.add_run("贾某人不学习") # 加粗,下划线,斜体 run1.bold = True run1.font.underline = True run1.font.italic = True # # 三、保存文件 document.save("word.docx") all_paragraphs = document.paragraphs # print(type(all_paragraphs)) # <class 'list'>,打印后发现是列表 # 是列表就开始循环读取d for paragraph in all_paragraphs: # print(paragraph.paragraph_format) # 打印出word中每段的样式名称 # 打印每一个段落的文字 print(paragraph.text) # 循环读取每个段落里的run内容 # for run in paragraph.runs: # print(run.text) # 打印run内容
Word 写入操作
from docx import Document from docx.shared import Pt, RGBColor document = Document() # 读取现有的 word 建立文档对象 # 二、写入内容 document.add_heading("python 操作 Word") # 段落 p1 = document.add_paragraph("早睡早起!!!") p1.insert_paragraph_before("Power!!!") format_p1 = p1.paragraph_format # 左右缩进 format_p1.left_indent = Pt(20) format_p1.right_indent = Pt(20) # 首行缩进 format_p1.first_line_indent = Pt(20) # 行间距 format_p1.line_spacing = 1 # 追加 # 一个run对象是相同样式文本的延续 run = p1.add_run("我也想做舔狗\n") # 字体,字号,文字颜色 run.font.size = Pt(12) run.font.name = "微软雅黑" run.font.color.rgb = RGBColor(235, 123, 10) run1 = p1.add_run("贾某人不学习") # 加粗,下划线,斜体 run1.bold = True run1.font.underline = True run1.font.italic = True # # 三、保存文件 document.save("word.docx") all_paragraphs = document.paragraphs # print(type(all_paragraphs)) # <class 'list'>,打印后发现是列表 # 是列表就开始循环读取d for paragraph in all_paragraphs: # print(paragraph.paragraph_format) # 打印出word中每段的样式名称 # 打印每一个段落的文字 print(paragraph.text) # 循环读取每个段落里的run内容 # for run in paragraph.runs: # print(run.text) # 打印run内容
-
利用PYTHON操作WORD文档-综合文档
2021-05-23 02:54:54利用PYTHON操作WORD文档 -
python操作word
2021-12-26 14:14:41python操作word 文章目录python操作word1、需要安装`python-docx`库2、导入相关包3、操作word3.1 读取word文件3.2 修改段落文字,以及段落样式(风格和大小)3.3 修改表格的中的内容3.4 删除表格或段落3.5 将...python操作word
文章目录
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._element r.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文档插入图片和表格的实例演示
2020-12-16 18:32:17图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码 实例代码: # -*- coding: UTF8 -*- from docx import Document ... -
Python操作word常见方法示例【win32com与docx模块】
2020-12-24 10:36:48本文实例讲述了Python操作word常见方法。分享给大家供大家参考,具体如下: 这里介绍两种方式: 使用win32com 使用docx 1. 使用win32com扩展包 只对windows平台有效 代码: # coding=utf-8 import win32com from ... -
Python操作Word批量生成文章的方法
2020-12-25 03:53:10下面通过COM让Python与Word建立连接实现Python操作Word批量生成文章,具体介绍请看下文: 需要做一些会议记录。总共有多少呢?五个地点x7个月份x每月4篇=140篇。虽然不很重要,但是140篇记录完全雷同也不好。大体看... -
利用 PYTHON 操作 Word 文档-综合文档
2021-05-25 03:10:41利用 PYTHON 操作 Word 文档 -
python操作word,excel,pdf.pdf
2020-05-13 10:15:11这个文档来自我的一篇博客,由于私聊我获取该文档的人太多,不变=便一个个发送,因此上传该文档,知识是无价的,希望这个真正能够帮助到需要这个的人。 -
【实用篇】Python操作word
2022-06-09 14:30:53在日常工作中,有很多简单重复的劳动其实完全可以交给Python程序,比如根据样板文件(模板文件)批量的生成很多个Word文件或PowerPoint文件。Word是微软公司开发的文字处理程序,相信大家都不陌生,日常办公中很多...在日常工作中,有很多简单重复的劳动其实完全可以交给Python程序,比如根据样板文件(模板文件)批量的生成很多个Word文件或PowerPoint文件。Word是微软公司开发的文字处理程序,相信大家都不陌生,日常办公中很多正式的文档都是用Word进行撰写和编辑的,目前使用的Word文件后缀名一般为.docx 。PowerPoint是微软公司开发的演示文稿程序,是微软的Office系列软件中的一员,被商业人士、教师、学生等群体广泛使用,通常也将其称之为“幻灯片”。在Python中,可以使用名为 python- docx 的三方库来操作Word,可以使用名为python-pptx 的三方库来生成。PowerPoint。
操作Word文档
我们可以先通过下面的命令来安装python-docx 三方库。
高版本lxml没有etree模块。有网友确定lxml4.2.5版本带有etree模块,且该版本lxml支持
python3.7.4版本。
安装命令: pip install lxml==4.2.5
pip install
我们在安装此模块儿使用的是pip install python-docx,但是在导入的时候是 docx;
按照官方文档的介绍,我们可以使用如下所示的代码来生成一个简单的Word文档。
from docx import Document
# docx.shared 用于设置大小(图片等)
from docx.shared import Cm, Pt
from docx.document import Document as Doc
# 创建代表Word文档的Doc对象
document = Document()
# type: Doc # 添加大标
document.add_heading('快快乐乐学Python', 0)
# 添加段落
p = document.add_paragraph('Python是一门非常流行的编程语言')
run = p.add_run('very easy')
run.bold = True run.font.size = Pt(18)
p.add_run('hello')
run = p.add_run('非常棒')
run.font.size = Pt(18)
run.underline = False
p.add_run('。')
# 添加一级标题
document.add_heading('Heading, level 1', level=1)
# 添加带样式的段落
document.add_paragraph('Intense quote', style='Intense Quote')
# 添加无序列表
document.add_paragraph(
'first item in unordered list', style='List Bullet'
)
document.add_paragraph(
'second item in ordered list', style='List Bullet'
)
# 添加有序列表
document.add_paragraph(
'first item in ordered list', style='List Number'
)
document.add_paragraph(
'second item in ordered list', style='List Number'
)
# 添加图片(注意路径和图片必须要存在)
document.add_picture('resources/guido.jpg', width=Cm(5.2))
# 添加分节符
document.add_section()
records = (
('亚瑟', '战士英雄'),
('白起', '坦克英雄'),
('赵云', '刺客英雄'),
('女娲', '法师英雄'),
)
# 添加表格
table = document.add_table(rows=1, cols=3)
table.style = 'Dark List'
hdr_cells = table.rows[0].cells
hdr_cells[0].text = ' 姓 名 '
hdr_cells[1].text = '类别'rc#
# 为表格添加行
for name, sex, birthday in records:
row_cells = table.add_row().cells
row_cells[0].text = name
row_cells[1].text = sex
row_cells[2].text = birthday
# 添加分页符
document.add_page_break()
# 保存文档
document.save('demo.docx')
提示:上面代码第7行中的注释# type: Doc 是为了在PyCharm中获得代码补全提示,因为如果不清楚对象具体的数据类型,PyCharm无法在后续代码中给出 Doc 对象的代码补全提示。
执行上面的代码,打开生成的Word文档,效果如下图所示。
对于一个已经存在的Word文件,我们可以通过下面的代码去遍历它所有的段落并获取对应的内容。
from docx import Document
#from docx.document import Document as Doc
doc = Document('resources/离职证明.docx') # type: Doc
for no, p in enumerate(doc.paragraphs):
print(no, p.text)
读取到的内容如下所示。
0
1 离 职 证 明
2
3 兹证明 王大锤 ,身份证号码: 100200199512120001 ,于 2018 年 8 月 7 日至 2020 年 6 月28 日在我单位 开发部 部门担任 Java开发工程师 职务,在职期间无不良表现。因个人原因,于 2020 年 6 月 28 日起终止解除劳动合同。现已结清财务相关费用,办理完解除劳动关系相关手续,双方不存在任何劳动争议。
4
5 特此证明!
6
7
8 公司名称(盖章):成都风车车科技有限公司
9 2020 年 6 月 28 日
接下来我们读取该文件,将占位符替换为真实信息,就可以生成一个新的Word文档,如下所示。
from docx import Document
from docx.document import Document as Doc
# 将真实信息用字典的方式保存在列表中
employees = [
{
'name': '骆昊',
'id': '100200198011280001',
'sdate': '2008 年 3 月 1 日 ', 'edate': '2012年2月29日', 'department': ' 产 品 研 发 ', 'position': ' 架 构 师 ', 'company': '成都华为技术有限公司'
},
{
'name': '王大锤',
'id': '510210199012125566',
'sdate': '2019 年 1 月 1 日 ', 'edate': '2021年4月30日', 'department': ' 产 品 研 发 ', 'position': 'Python开发工程师', 'company': '成都谷道科技有限公司'
},
{
'name': '李元芳',
'id': '2102101995103221599',
'sdate': '2020 年 5 月 10 日 ', 'edate': '2021 年 3 月 5 日 ', 'department': ' 产 品 研 发 ', 'position': 'Java 开 发 工 程 师 ', 'company': '同城企业管理集团有限公司'
},
]
# 对列表进行循环遍历,批量生成Word文档
for emp_dict in employees:
# 读取离职证明模板文件
doc = Document('resources/离职证明模板.docx') # type: Doc
# 循环遍历所有段落寻找占位符
for p in doc.paragraphs: if '{' not in p.text:
continue
# 不能直接修改段落内容,否则会丢失样式
# 所以需要对段落中的元素进行遍历并进行查找替换
for run in p.runs:
if '{' not in run.text: continue
# 将占位符换成实际内容
start, end = run.text.find('{'), run.text.find('}')
key, place_holder = run.text[start + 1:end], run.text[start:end + 1] run.text = run.text.replace(place_holder, emp_dict[key])
# 每个人对应保存一个Word文档
doc.save(f'{emp_dict["name"]}离职证明.docx')
执行上面的代码,会在当前路径下生成三个Word文档,如下图所示。
-
使用python操作word
2021-03-05 12:40:57由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word。 说明 本代码来源于官方文档(https://python-docx.readthedocs.io/en/latest/),这里对代码做了一些注释。 该代码记录了对... -
Python 操作Word文档插入图片和表格实例演示
2020-10-22 22:31:10Python 操作Word文档插入图片和表格 实例演示 ① python-docx 库安装 ② word 文档插入图片演示 ③ word 文档插入表格演示 [ 文章推荐 ] Python 地图篇 - 使用 pyecharts 绘制世界地图、中国地图、省级地图、市级... -
Python操作word
2020-11-24 11:57:29### 1.Python写word文档* 要操作word文档首先需要安装python-docx库;```pip install python-docx```* 然后导入docx模块,或者从docx模块中导入Document类;```from docx import Document```* 然后使用`Document()`... -
Python操作Word批量生成合同的实现示例
2020-09-16 08:57:49主要介绍了Python操作Word批量生成合同的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
教程 | Python 实现 Word 文档操作…
2021-01-06 17:51:44本文主要讲解Python中操作word的思路。 一、Hello,world! 使用win32com需要安装pypiwin32 pip install pypiwin32 推荐使用python的IDLE,交互方便 1、如何新建文档 from win32com.client import Dispatch app =... -
python 操作 word 文件
2019-10-15 21:48:12#创建空白的word文档 currentDocument = Document() #写入文章标题 currentDocument.add_heading(title) #设置一个空白段落 p = currentDocument.add_paragraph('') #设置一个锻炼最后的节点。 run = p.add_run()... -
python 操作word win32com 办公自动化一
2022-04-15 21:14:40一、概述:python操作word方法.... 1 二、Win32com安装.... 2 三、基础:对Word对象模型的简单理解.... 4 四、展示: 手动录宏,python自动化.... 11 五、实验: 多试多感觉.... 13 一、概述:python... -
python操作word文档
2018-08-14 10:25:54一、安装python-docx 模块 1、我的环境是(win7 64位 + python 3.6 + pip + pyCharm) 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-docx 2、下载该文件,然后进入 文件下载目录,按住 shift... -
一篇就够,python 操作 word 文档,使用 python-docx 落地实现,写入篇
2021-12-16 09:07:38主要涉及的内容为 python-docx ,一款可以操作 Word 文档(仅支持 docx)的第三方库。 文章目录写在前面创建一个文档先实现第一步,写入一个标题添加文字段落列表的添加图片的添加表格添加相关样式设置页眉和页脚... -
python操作word文档——python-docx
2022-01-18 22:50:071.python-docx pypi python-docx · PyPI 2.安装 pip install python-docx pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple 二、官网 1.点击Homepage ... -
用 Python 操作 Word 文档
2019-07-23 08:30:00图片来源于网络♚作者:贠云龙Blog:zhihu.com/people/yunlongyun本文主要讲解python中操作word的思路。一、Hello,world!使... -
python操作word文档,合并
2022-04-06 18:43:05python操作word文档,合并 -
Python操作Word
2019-01-09 15:41:03Python操作Word 使用python操作word ... -
python自动化办公之 python操作Word
2020-12-04 08:19:01上次给大家介绍了 Python 如何操作 Excel ,是不是感觉还挺有趣的,今天为大家再介绍下,用 Python 如何操作 Word ,这个可能跟数据处理关系不大,用的也不多,不过可以先了解下都能实现什么功能,以备不时之需。... -
Linux环境下Python操作word
2016-12-27 15:42:12python操作word的流程和注意事项