Python自动化办公之Word文档的创建与生成

作者:渴望力量的哈士奇 时间:2022-06-16 17:49:43 

上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片。从今天开始将学习如何通过 python 脚本来自动生成一个 word 文档。

保存生成 word

在学习如何生成一个 word 文档之前,我们来看看如何保存生成 word 文件,因为马上就会用到。

使用方法:

document_obj.save(文件地址) ---> /home/demo.docx

代码示例如下:

# coding:utf-8

from docx import Document

doc = Document()
doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

生成标题

使用方法:

title_obj = DocumentObj.add_heading(标题内容, 标题样式等级) 通过 Document 对象调用 add_heading 函数 返回 标题对象。

标题样式等级:

0 <= lever <= 9

标题内容追加:

titleobj.add_run 通过标题对象调用 add_run 函数 进行标题内容的追加

代码示例如下:

# coding:utf-8

from docx import Document

doc = Document()

title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)

doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

Python自动化办公之Word文档的创建与生成

生成段落

使用方法:

para_obj = document_obj.add_paragraph(段落内容) 通过 Document 对象调用 add_paragraph 函数 返回 段落对象。

段落内容追加:

para_obj.add_run(字符串内容)

换行方式:

\n 换行特殊字符来分割段落

代码示例如下:

# coding:utf-8

from docx import Document

doc = Document()

title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)

para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')

doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

Python自动化办公之Word文档的创建与生成

添加图片

使用方法:

image_obj = document_obj.add_picture(图片地址, 宽, 高) 通过 Document 对象调用 add_picture 函数 返回 图片对象。

宽高定义:

from docx.shared import Inches

add_picture(x, width=Inches(5), height=Inches(5))

代码示例如下:

# coding:utf-8

from docx import Document
from docx.shared import Inches

doc = Document()

title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)

para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')

image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))

doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

Python自动化办公之Word文档的创建与生成

添加表格

使用方法:

table_obj = document_obj.add_table(row=行数, cols=列数) 通过 Document 对象调用 add_table 函数 返回 表格对象。

cell = table_obj.row[0].cells 表格对象调用 rows 返回表格的行对象

cell[0].text = 当前行 0 列的内容

cell[1].text = 当前行 1 列的内容

表格追加:

row_cell = table.add_row().cells

代码示例如下:

# coding:utf-8

from docx import Document
from docx.shared import Inches

doc = Document()

title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)

para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')

image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))

table_title = ['name', 'age', 'sex']
table = doc.add_table(rows=1, cols=3)
table_cells = table.rows[0].cells
table_cells[0].text = table_title[0]
table_cells[1].text = table_title[1]
table_cells[2].text = table_title[2]

data = [
   ('Neo', '18', 'man'),
   ('Adem', '17', 'man'),
   ('Lily', '18', 'women')
]

for i in data:
   row_cells = table.add_row().cells
   row_cells[0].text = i[0]
   row_cells[1].text = i[1]
   row_cells[2].text = i[2]

doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

Python自动化办公之Word文档的创建与生成

分页

使用方法:

document_obj.add_page_break()

代码示例如下:

# coding:utf-8

from docx import Document
from docx.shared import Inches

doc = Document()

title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)

para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')

image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))      # 添加图片

table_title = ['name', 'age', 'sex']    # 定义表格的第一行的标题
table = doc.add_table(rows=1, cols=3)   # 定义表格的行数、列数
table_cells = table.rows[0].cells       # 将 table_title 的每列的名称写入表格
table_cells[0].text = table_title[0]
table_cells[1].text = table_title[1]
table_cells[2].text = table_title[2]

data = [            # 定义 data 的内容,准备将其追加写入表格
   ('Neo', '18', 'man'),
   ('Adem', '17', 'man'),
   ('Lily', '18', 'women')
]

for i in data:      # 利用 for 循环将 data 追加写入表格
   row_cells = table.add_row().cells
   row_cells[0].text = i[0]
   row_cells[1].text = i[1]
   row_cells[2].text = i[2]

doc.add_page_break()        # 添加 word 文件的分页
title = doc.add_heading('this is page_2 title', 1)    # 添加 word 文件的第二分页的 title 标题

doc.save('test.docx')

运行结果如下:

Python自动化办公之Word文档的创建与生成

Python自动化办公之Word文档的创建与生成

来源:https://blog.csdn.net/weixin_42250835/article/details/124740739

标签:Python,Word,文档,创建,生成
0
投稿

猜你喜欢

  • Pytorch中关于BatchNorm2d的参数解释

    2021-10-06 11:28:09
  • 从客户端提升SQL Server数据库性能

    2009-03-06 14:27:00
  • PHP引用(&)各种使用方法实例详解

    2023-11-01 18:12:43
  • PyCharm上安装Package的实现(以pandas为例)

    2021-09-21 12:26:30
  • python3连接MySQL8.0的两种方式

    2024-01-20 20:16:14
  • Idea 2022激活码最新汇总(亲测有效)

    2023-01-19 10:52:41
  • 浅谈golang的http cookie用法

    2024-02-12 06:14:59
  • 利用Python操作MongoDB数据库的详细指南

    2024-01-16 13:49:28
  • Python 文本文件与csv文件的读取与写入

    2021-02-10 09:57:56
  • 浅谈Python中eval的强大与危害

    2022-05-03 08:15:13
  • javascript变量提升和闭包理解

    2024-04-10 16:17:06
  • python 发送和接收ActiveMQ消息的实例

    2022-08-23 18:45:20
  • 索引在Oracle中的应用深入分析

    2023-07-04 19:50:49
  • python文件与路径管理方法

    2022-06-15 13:38:06
  • python实现桌面壁纸切换功能

    2023-05-26 04:38:49
  • XML简易教程之二

    2008-09-05 17:19:00
  • pytorch模型存储的2种实现方法

    2023-10-06 11:37:24
  • Python读入mnist二进制图像文件并显示实例

    2023-04-23 16:40:44
  • NLTK的安装教程及安装错误解决方案

    2022-09-24 04:59:33
  • sqlserver锁表、解锁、查看销表的方法

    2024-01-12 15:57:38
  • asp之家 网络编程 m.aspxhome.com