当前位置:首页 » Python基础教程 » python3解决word文档实例分析

python3解决word文档实例分析

1433°c 2021年01月20日 17:06 Python基础教程 1条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

立即应用word文本文档早已打不倒大伙儿了,是否有想要用python搭建一个word文本文档写点文章内容呢?自然这一文章内容的架构必须大家用编码一点点的创建,在全过程上面有一点繁杂,一下子不明白的小伙伴们能够把它拆分为好多个一部分看来。下边就在python3解决word文本文档的编码给大伙儿产生解读,还会继续有一些设置文章格式的方法。

一个Word文本文档,关键由下边这种內容原素组成,每一个原素都是有相匹配的方式解决:

  • 标题:add_heading()
  • 段落:add_paragraph()
  • 文字:add_run(),其回到目标适用设置文本属性
  • 照片:add_picture()
  • 表格:add_table()、add_row()、add_col()
import pathlib

from docx import Document
from docx.shared import Inches, Pt
from docx.oxml.ns import qn
path = list(pathlib.Path.cwd().parents)[1].joinpath('data/automate/003word')
out_path = path.joinpath('003word_create.docx')
img_path = path.joinpath('dance.jpg')
document = Document()
document.add_heading('python1024_自动生成标题', 0)
document.add_heading('基础:文字', level=1)
p = document.add_paragraph('检测文字\n检测內容\n')
p.add_run('粗字体一部分內容\n').bold = True
p.add_run('斜体字一部分\n').italic = True
p.add_run('下横线一部分\n').underline = True
p.add_run('字体样式设置\n').font.size = Pt(24)
# 检测第三方字体样式
x = p.add_run('三方字体样式检测\n')
x.font.name = 'Source Han Sans CN' # 思源字体
x.element.rPr.rFonts.set(qn('w:eastAsia'), 'Source Han Sans CN')
# 段落和引入
document.add_heading('标题一:段落', level=1)
document.add_paragraph('引入块', style='Intense Quote')
document.add_heading('标题1.1、无序列表', level=2)
opts = ['选项1','选择项2', '选择项3']
# 不用目录
for opt in opts:
  document.add_paragraph(opt, style='List Bullet')
document.add_heading('标题1.2、有序列表', level=2)
# 有序列表
  document.add_paragraph(opt, style='List Number')
document.add_heading('标题二:照片', level=1)
document.add_picture(str(img_path), width=Inches(5))
document.add_page_break()
document.add_heading('标题三:表格', level=1)
records = (
  (1, '电扇', '无叶风扇'),
  (2, '电吹风', '离子风扇'),
  (3, 'Macbook pro', 'Apple macbook pro 15寸')
)
# 表格
table = document.add_table(rows=1, cols=3)
# 表头
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '总数'
hdr_cells[1].text = 'ID'
hdr_cells[2].text = '叙述信息内容'
# 表格数据信息
for qty, cid, desc in records:
  row_cells = table.add_row().cells
  row_cells[0].text = str(qty)
  row_cells[1].text = cid
  row_cells[2].text = desc
# 保存文档
document.save(out_path)

设置段落款式,

以下:

document.add_paragraph('这是一个款式为 ListBullet 的段落', style='ListBullet')

paragraph = document.add_paragraph('这是一个款式为 ListBullet 的段落')
paragraph.style = 'List Bullet'

设置段落间隔

分成 段前 和 段后 ,设置值用 Pt 企业是 磅 ,以下:

paragraph_format.space_before = Pt(18)
paragraph_format.space_after = Pt(12)

设置段落行距 

当行距为 极小值 和 数值 时,设置值企业为 磅 ,必须用 Pt ;当行距为 几倍行距 时,设置数值标值,以下:

from docx.shared import Length

#SINGLE     => 单倍行距(默认设置)

#ONE_POINT_FIVE => 1.5倍行距

#DOUBLE2    => 倍行距

#AT_LEAST    => 极小值

#EXACTLY    => 数值

#MULTIPLE    => 几倍行距

paragraph.line_spacing_rule = WD_LINE_SPACING.EXACTLY #数值

paragraph_format.line_spacing = Pt(18) # 数值18磅

paragraph.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #几倍行距

paragraph_format.line_spacing = 1.75 # 1.75倍行距

到此这篇有关python3解决word文本文档实例分析的文章内容就详细介绍到这了,大量有关python3解决word文本文档编码內容请搜索python学习网之前的文章内容或再次访问下边的类似文章期待大伙儿之后多多的适用python学习网!

欢迎阅读本文,希望本文对您有所帮助!

本文链接:http://www.cqrxzs.com/180.html

版权声明:本文为原创文章,版权归 雨凡教育 所有,欢迎分享本文,转载请保留出处!

百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!

评论(1) 赞助本站

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 白嫖吧 白嫖吧
     发布于 2021-02-05 14:18:55  回复
  • 1楼白嫖吧,红包福利【www.bp98.vip】
推荐阅读
04月20日

Python模块汇总(常见第三方库)

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 368次

模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性。 提高代码的复用,当模块完成时就可以在其他代码中调用 引用其他模块,包含python内置模块和其他第三方模块 避免函数名和变量名等名称冲突 Python语言生态 Python语言提供超过15万个第三方库,Python库之间广泛联系、逐层封装。 使用pip安装 Python社区:ht...

04月20日

python 应用while写猜年龄小游戏过程解析

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 358次

要求: 用户一轮有三次机会开展猜年龄手机游戏,每猜一次会给相对应的提示告之用户应当往大些猜或是小一点猜,三次机会用完之后,可挑选重新再来三次机会。 构思: 最先界定一个原始年龄为25和原始次数0,随后每猜一次,次数加1,另外提示猜的年龄是很小或是很大,猜校时退出游戏,当次数相当于3时,提示用户是不是重新再来。 编码以下: age_of_fww = 25 count = 0 while count < 3: guess_age = int(input("guess_age:"))...

04月20日

python读文件的步骤

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 70次

python怎么读文档? 最先,在桌面创建一个txt文档,在上面键入以下几点: 您好。Hello.abcdefg啊非常好的设计风格 查询文档的特性,获得文档的相对路径: D:\HintSoft\Hint-W7\Desktop 文件夹名称是——新建文本文档.txt, 那麼,相对路径再加上文件夹名称,便是肯定文件夹名称: D:\HintSoft\Hint-W7\Desktop\新建文本文档.txt 用python开启这一文档,并取名为f。 f = open(r"D:\HintSo...

04月20日

pip 安装库比较慢的解决方法(国内镜像)

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 58次

针对Python开发设计客户而言,PIP安装程序包是家常饭。但海外的源下载速度确实很慢,虚度光阴。并且经常会出现下载后安装打错难题。 因此把PIP安装源换成国内镜像,能够 大幅度提高下载速度,还能够提升 安装通过率。 中国源: 新版本ubuntu规定应用https源,要留意。 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云服务器:http://mirrors.aliyun.com/pypi/simple/ 中国科大 https://pypi....

04月20日

python完成的按要求生成手机号功能示例

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 53次

文中案例叙述了python完成的按要求生成手机号作用。共享给大伙儿供大伙儿参照,实际以下: 见到一个生成手机号的编码,因此自身提升了一下,能够 适用按要求生成手机号。 #!/usr/bin/python # coding=utf-8 ''' 1:任意生成11位手机号 2:只自定义地域(第4--7位) 3:只自定义手机尾号(第八--11位) 4:自定义后8位手机号 5:只自定义前3位 ''' import time,random print __doc__ def moblieRando...

04月19日

为什么说Python能够 完成全部的算法

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 103次

今日强烈推荐一个Python学习培训的干货知识。 好多个印尼小伙,在GitHub里建了一个各种各样Python算法的初学者全集,如今标星早已超出2.六万。 这一新项目关键包含两一部分內容:一是各种各样算法的基本概念解读,二是各种各样算法的编码完成。 传送器在这里: https://github.com/TheAlgorithms/Python 简易详细介绍下。 算法的基本概念解读一部分,包含排序算法、检索算法、插值法算法、弹跳检索算法、迅速挑选算法、禁忌搜索算法、数据加密算法等。 这一部分內容...

04月19日

Django中应用haystack whoosh完成搜索功能

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 114次

为了实现项目中的搜索功能,我们使用的是全文检索框架haystack+搜索引擎whoosh+中文分词包jieba 安装和配置 安装所需包 pip install django-haystack pip install whoosh pip install jieba 去settings文件注册haystack应用 INSTALLED_APPS = [ 'haystack', # 注册全文检索框架 ] 在settings文件中配置全文检索框架 # 全文检索框架的配置 HAYSTACK_...

04月19日

Django完成文件上传和下载功能

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 109次

文中案例为大伙儿共享了Django下进行文件提交和下载作用的实际编码,供大伙儿参照,具体内容以下 一、文件提交 Views.py def upload(request): if request.method == "POST": # 要求方式为POST时,开展解决 myFile = request.FILES.get("myfile", None) # 获得提交的文件,如果没有文件,则默认设置为None if not myFile: return HttpResponse("no f...

04月19日

Python3 无反复字符的最多子串的完成

发布 : | 分类 : Python基础教程 | 评论 : 0人 | 浏览 : 103次

题型: 给出一个字符串,你要找到在其中不带有反复字符的 最多子串 的长度。 示例: 示例 1: 键入: “abcabcbb” 输出: 3 表述: 由于无反复字符的最多子串是 “abc”,因此其长度为 3。 示例 2: 键入: “bbbbb” 输出: 1 表述: 由于无反复字符的最多子串是 “b”,因此其长度为 1。 示例 3: 键入: “pwwkew” 输出: 3 表述: 由于无反复字符的最多子串是 “wke”,因此其长度为 3。 一定要注意,你的答案务必是 子串 的长度,“pwke...

您好,欢迎到访网站!
  查看权限