欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

教你用Python操作word文档实战项目

程序员文章站 2022-05-04 14:21:07
最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式。由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word。 另外给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前 ......

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

另外给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节

说明

  • 本代码来源于官方文档(https://python-docx.readthedocs.io/en/latest/),这里对代码做了一些注释。
  • 该代码记录了对word的常见操作:
    1.添加标题
    2.添加段落
    3.为段落文字设置样式
    4.插入图片
    5.添加表格,并输入内容
    6.添加分页

效果图

 
教你用Python操作word文档实战项目

代码

# coding:utf-8

"""
    python 操作word
"""

from docx import document
from docx.shared import inches

# 创建word文档对象
document = document()
# 添加标题
document.add_heading('document title', 0)

# 添加段落
p = document.add_paragraph('a plain paragraph having some ')

# 添加段落文字,并指定样式:这里设置文字为加粗
p.add_run('bold').bold = true

# 添加段落文字
p.add_run(' and some ')

# 添加段落文字,并指定样式:设置文字为斜体
p.add_run('italic.').italic = true

# 添加一级标题
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(
    'first item in ordered list', style='list number'  # 样式为数字
)

# 插入图片:inches表示以英寸作为图片的单位
document.add_picture('pic.jpg', width=inches(3.0))

records = (
    (3, '101', 'spam'),
    (7, '422', 'eggs'),
    (4, '631', 'spam, spam, eggs, and spam')
)

# 创建一行三列的表格
table = document.add_table(rows=1, cols=3)
# 获取第一行的所有列数
hdr_cells = table.rows[0].cells

# 给第一行的各个列添加内容
hdr_cells[0].text = 'qty'
hdr_cells[1].text = 'id'
hdr_cells[2].text = 'desc'

# 给table表格添加新行,并给各列添加内容
for qty, id, desc in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(qty)
    row_cells[1].text = id
    row_cells[2].text = desc

# 添加分页
document.add_page_break()

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

if __name__ == "__main__":
    pass

喜欢点个赞!另外给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。