欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

运用Python巧妙处理Word文档的方法详解

时间:2022-10-16 11:23:04|栏目:Python代码|点击:

工具

python3.7

Pycharm

Excel

python-docx

生成Word案例

创建一个demo.doc文档,代码如下:

from docx import Document
from docx.shared import Cm,Pt
from docx.document import Document as Doc

#构建doc对象
document = Document()

#操作文档标题
document.add_heading('这是python写的!',0)

#操作段落文本
p = document.add_paragraph('我喜欢python,因为python可以做许多事情...')
#段落添加内容
run = p.add_run('大家也可以来学习!')
#对run内容加粗
run.bold = True
#设置run字体
run.font.size = Pt(18)

#标题级别设置
document.add_heading('我是一级标题',level=1)

#操作图片(图片所在路径)
document.add_picture('刘亦菲.png', width=Cm(5.2))

# 添加有序列表
document.add_paragraph(
    '我是有序列表1', style='List Number'
)
document.add_paragraph(
    '我是有序列表1', style='List Number'
)


# 添加无序列表
document.add_paragraph(
    '我是无序列表1', style='List Bullet'
)
document.add_paragraph(
    '我是无序列表2', style='List Bullet'
)

# 设置表格内容
records = (
    ('孙悟空', '男', '1111-1-1'),
    ('白骨精', '女', '2222-2-2')
)
# 添加表格,rows设置行 cols设置列
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
#设置列名
hdr_cells[0].text = '姓名'
hdr_cells[1].text = '性别'
hdr_cells[2].text = '出生日期'
# 操作写入行
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

#保存doc文档
document.save('demo.docx')

效果如下:

更多属性设置可以参考官方文档

读取操作word文档

现有文档如下:

读取代码:

from docx import Document
from docx.document import Document as Doc

#获取文档路径,循环读取内容
doc = Document('离职证明.docx')  # type: Doc
for no, p in enumerate(doc.paragraphs):
    print(no, p.text)

效果如下:

如果需要批量操作,则可以使用字典形式组织数据类型,比如name,start_time,end_time,job等,再使用循环写入文件即可批量生成该类文档。

总结

当需要批量操作文档时候,可以使用python-docx库来操作,可以较大提升工作效率。如果需要更多属性操作,请参考上面官方文档

上一篇:Python实现电脑壁纸的采集与轮换效果

栏    目:Python代码

下一篇:python 针对在子文件夹中的md文档实现批量md转word

本文标题:运用Python巧妙处理Word文档的方法详解

本文地址:http://www.codeinn.net/misctech/216454.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有