python-docx初探——如何用python新建world—添加段落、标题、表格

python-docx初探🚀

        在项目中需要用到使用代码来编写一些结构化的文档,所以这里就需要涉及到一些需要用代码写world的一些工作,经过简单了解,python操作world最主要使用的就是python-docx文档,所以这次就先学一下这个库的操作,根据官方文档先简单学一些基础知识初步了解下。


官方文档网址:https://python-docx.readthedocs.io/en/latest/index.html
在这里插入图片描述


文章目录

  • python-docx初探🚀
    • 1.生成一个空白的world
    • 2.插入一段文字
    • 3.添加一个标题
    • 4.换页
    • 5.插入表格
  • 结束

1.生成一个空白的world


        首先我发现文档里的教程省略了这一步,也就是在官方文档的教程中默认都是已经自己在外部建好文档,然后进而使用代码读取操作的,在实际操作中我发现,应该还是需要自己动手生成空白文档这一步,才能完整之后想要实现的之后想要自动结构化的操作,生成一个空白文档的代码如下。运行之后会在相对路径下生成一个example.docx的文件夹

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

# 保存doc文档
document.save(file_path)

运行代码之后会在相对路径下生成一个文档,打开之后是一个空白文档(上面的灰色文字是WPS的AI功能提示,内容还是空白的)
在这里插入图片描述

2.插入一段文字


        写入一段文字需要用到add_paragraph方法,生成一个空白文档插入一段文字,然后保存代码如下,其中paragraph是一个段落返回对象,之后可以通过这个对象完成一系列操作,如果改动段落的一些字体加粗等属性,在该段上下插入新的段落等等,运行之后打开world可以看到在第一行输出了我们指定的一段文字。

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')

# 保存doc文档
document.save(file_path)

在这里插入图片描述
        add_paragraph的本质是在文档的末尾部分追加一段文字,在官方例程中想在段落前后插入一段文字该如何操作呢?,例如我们要在刚才加入的段落前面插入一段文字。

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

# 插入一段文字
paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')

#在paragraph这段文字的上方再插入一段文字
prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum')

# 保存doc文档
document.save(file_path)

运行结果如下:
在这里插入图片描述

3.添加一个标题


        python-docx还开放了插入各个级别的标题的API,插入一个标题的代码如下

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

# 插入一段文字
paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')

# 在paragraph这段文字的上方再插入一段文字
prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum')

# 插入一个标题(默认一级标题)
document.add_heading('The REAL meaning of the universe')

# 插入一个二级标题
# document.add_heading('The role of dolphins', level=2)

# 保存doc文档
document.save(file_path)

在这里插入图片描述

4.换页


        在插入标题和文字之后官方文档中还介绍了换页,也就是如果我们想另启一页的的话,可以使用add_page_break API来进行换页的操作。

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

# 插入一段文字
paragraph = document.add_paragraph('Lorem ipsum dolor sit amet.')

# 在paragraph这段文字的上方再插入一段文字
prior_paragraph = paragraph.insert_paragraph_before('Lorem ipsum')

# 换页
document.add_page_break()

# 插入一个标题(默认一级标题)
document.add_heading('The REAL meaning of the universe')

# 保存doc文档
document.save(file_path)

在这里插入图片描述

5.插入表格


        出了文字之外还有的就是插入表格,python-docx库有一个table = document.add_table(rows=2, cols=2)的API通过这个API可以插入一个两行两列的表格,默认情况下表格是是无边的,生成表格并在第一行第二列插入一段文字的代码如下。

from docx import Document

# 实例化doc对象
document = Document()

# 文件路径
file_path = 'example.docx'

# 插入一个两行两列的表格
table = document.add_table(rows=2, cols=2)

cell = table.cell(0, 1)
cell.text = 'parrot, possibly dead'


# 保存doc文档
document.save(file_path)

在这里插入图片描述

结束


        实际用下来之后发现还是有不少问题,例如其实想用代码改格式是一个非常麻烦的事情,例如python-docx中甚至无法通过代码来设置表格的边框的颜色,根据Chat-GPT4给我的解释是说,这个python-docx主要关注的是内容,当然还有很多其他的内容可以在文档中查到,总之,python-docx相对来说只适合应用于一些小任务,功能并不强大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/701714.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

便民智慧小程序源码系统 同城信息+商家联盟+生活电商 功能强大 带完整的安装代码包以及搭建部署教程

系统概述 便民智慧小程序源码系统是一个高度集成化的本地化服务平台解决方案,它融合了同城信息发布、商家联盟管理和生活电商平台三大核心模块,旨在打造一个全方位、多维度的生活服务生态系统。该系统采用先进的前后端分离架构,支持快速响应…

Cartographer学习笔记

Cartographer 是一个跨多个平台和传感器配置提供 2D 和 3D 实时同步定位和地图绘制 (SLAM) 的系统。 1. 文件关系 2. 代码框架 common: 定义了基本数据结构和一些工具的使用接口。例如,四舍五入取整的函数、时间转化相关的一些函数、数值计算的函数、互斥锁工具等…

变量的基本原理

目录 注意: 程序中 号的使用 数据类型 string类 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房 间,而通过变量名可以访问到变量(值)。 int age 30; double score …

iFlyCode:AI智能编程助手引领未来软件开发新趋势

体验地址 在当前软件行业飞速发展的背景下,开发效率和代码质量成为了衡量软件工程师工作效能的两大关键指标。为了应对日益增长的市场需求和紧迫的发布时间,科大讯飞推出了iFlyCode2.0——一款集AI技术于一身的智能编程助手,旨在引领未来软件…

Linux C语言:指针的运算

一、指针的算术运算 1、指针运算 指针运算是以指针所存放的地址作为运算量而进行的指针运算的实质就是地址的计算 2、指针的算数运算 指针加上整数,指针减去整数, 指针递增,指针递减和两个指针相减。 指针加减一个n的运算: px n px - n 移动步长…

Windows远程桌面连接

试验:使用Oracle VM VirtualBox创建虚拟机与物理机进行远程桌面连接实验 1. 准备 使用VirtualBox创建一台win10虚拟机,并与本地物理机相互ping通。(注意:如何存在ping不通,可以试一下关闭Windows的防火墙)…

【机器学习】机器学习与金融科技在智能投资中的融合应用与性能优化新探索

文章目录 引言机器学习与金融科技的基本概念机器学习概述监督学习无监督学习强化学习 金融科技概述股票预测风险管理资产配置 机器学习与金融科技的融合应用实时市场数据分析数据预处理特征工程 股票预测与优化模型训练模型评估 风险管理与优化深度学习应用 资产配置与优化强化…

突破管理瓶颈:基于前端技术的全面预算编制系统解析

前言 在现代商业环境中,预测销售数据和实际成本是每个公司CEO和领导都极为重视的关键指标。然而,由于市场的不断变化,准确地预测和管理这些数据变得愈发具有挑战性。为了应对这一挑战,建立一个高效的系统来管理和审查销售数据的重…

从PCB到芯片的电源控制

随着硅技术的进步,ASIC 密度更高,逻辑电压随之降低。较低的电压与较高的电流要求相结合,要求电源具有更严格的容差。从 PCB 到芯片的电源控制是本研究的主题。使用典型旁路值的频率扫描仿真表明,分立封装电容器并不是降低芯片电源…

Java面试八股之子类可以从父类继承哪些内容

Java子类可以从父类继承哪些内容 Java子类可以从父类继承以下内容: 属性(Fields/Variables): public:子类可以继承父类所有的public修饰的属性。 protected:子类可以继承父类所有的protected修饰的属性…

Redisson 实现分布式锁

1、相关配置 Component public class RedissonDistributedLock {Autowiredprivate RedissonClient redissonClient;public boolean tryLock(String lockKey, long expireTime, long waitTime) throws InterruptedException {RLock lock redissonClient.getLock(lockKey);retu…

C++ 引用 - 引用的特点|在优化程序上的作用

引用是C 的一个别名机制,所谓别名,就是同一块内存共用多个名字,每个名字都指的是这片空间,通过这些别名都能访问到同样的一块空间。 就像鲁迅和周树人是同一个人。 ——鲁迅 一、引用的基本用法 int a 10; int& ref a; // …

Python实现base64加密/解密

实现原理:导入base64库 一、加密 import base64# 加密 username "admin" base64_username base64.b64encode(username.encode(utf-8)).decode() print(base64_username) password "123" base64_password base64.b64encode(password.encod…

腾讯云大数据ES Serverless

Elasticsearch:日志和搜索场景首选解决方案。 技术特点:分布式、全文搜索和数据分析引擎,可以对海量数据进行准实时地存储、搜索和统计分析。 ES的技术栈一共包含四个组件: 其中最核心的是Elasticsearch,可用于数据…

halcon算子之prepare_object_model_3d详解

为某一操作准备三维对象模型。 Description 操作符prepare_object_model_3d准备3D对象模型ObjectModel3D,用于下面目的中给出的操作。它计算操作所需的值并将其存储在ObjectModel3D中,从而加快了后续操作。没有必要调用prepare_object_model_3d。但是,如果要多次使用3D对象…

低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)

本篇文章,继续分享另外一台端午假期折腾的设备,HP MicroServer Gen10 一代。同样分享下我的折腾思路,希望能够帮助到有类似需求的你。 写在前面 Gen10 “标准版”(第一代)和 Plus 版本设计风格一致,同样颜…

onlyoffice在线预览加载优化

背景: 使用容器部署onlyoffice到linux服务器,使用内网访问速度还可以接受,但是如果放到外网路径访问起来,速度就会很慢,甚至加载失败; 优化方案: 预览的过程排除网络因素,可以发现打…

(1)图像识别yolov5—安装教程

目录 1、安装YOLOv5: 2、下载预训练模型: 3、识别示例图片: 1、安装YOLOv5: 首先,你需要在你的计算机上下载 YOLOv5 的文件包,下载链接:https://github.com/ultralytics/yolov5。下载后对压缩文件进行解压。 通常使用 YOLOv5 识别物体,需要安装必要的 依赖…

海外媒体发稿渠道和方法有哪些?如何选择靠谱的国外媒体发稿服务商?

在选择海外媒体发稿服务商时,以下是一些关键点可以帮助您找到靠谱的服务商: 服务商的经验和口碑:查找该服务商在行业内的声誉和客户评价。拥有丰富经验和良好口碑的服务商通常更可靠。 媒体资源和覆盖范围:了解服务商所能提供的媒…

如何快速学会互联网运营?

答案只有一个,那就是选项目,跟团队,直接实操,比你花几千几万的学费更实在。早上就有好几位伙伴加入,咱们团队几乎每天都有干货分享。 作为千益畅行旅游卡源头,咱们没有套路,唯有靠谱得人心。你…