Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中,有时为了调整表格的结构或适应不同的数据展示需求,我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考:

文章目录

    • Python 在Word表格中插入行
    • Python 在Word表格中插入列
    • Python 删除Word表格中的指定行和列

所需Python库Spire.Doc for Python。该Python Word库支持几乎所有的Word文档元素,可以在Word中实现创建、操作表格等。
可以通过pip进行安装:

pip install Spire.Doc

Python 在Word表格中插入行

Spire.Doc for Python 提供了两种不同的方法,支持在Word表格中间指定位置处插入新行,或者在表格末尾添加新行。用到的主要方法如下:

  1. Table 类:代表Word文档中的表格。
  2. Table.Rows.Insert(index, row) 方法:在表格指定位置插入一行。
  3. Table.AddRow() 方法:在表格末尾添加一行。

示例代码:

from spire.doc import *
from spire.doc.common import *# 加载Word文档
document = Document()
document.LoadFromFile("Word表格.docx")# 获取第一节
section = document.Sections[0]# 获取该节中第一个表格
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None# 插入一行作为第四行
table.Rows.Insert(3, table.AddRow())# 在表格末尾添加一行
addedRow = table.AddRow()# 保存文件
document.SaveToFile("插入行.docx", FileFormat.Docx2016)
document.Close()

生成文件如图:
Word表格插入行

Python 在Word表格中插入列

与插入行不同,插入列没有可以直接调用的方法。为了实现插入列的效果,我们可以在每一行中的指定位置插入单元格来添加新列。具体操作如下:

  1. 通过 LoadFromFile() 方法加载Word文档;
  2. 查找文档指定节中查找并返回其中第一个表格 Table 对象;
  3. 遍历表格中的每一行;
  4. 创建单元格,然后使用 TableRow.Cells.Insert() 方法将其插入到每行指定位置处;
  5. 也可以使用 TableRow.AddCell() 方法直接在每行末尾处添加一个单元格;
  6. 保存文档。

示例代码:

from spire.doc import *
from spire.doc.common import *# 加载Word文档
document = Document()
document.LoadFromFile("Word表格.docx")# 获取第一节
section = document.Sections[0]# 获取该节中的第一个表格
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None# 遍历表格的每一行
for i in range(table.Rows.Count):# 获取当前行row = table.Rows[i]# 在当前行的第三个位置处插入一个单元格cell = TableCell(document)  row.Cells.Insert(2, cell)# 设置新单元格的宽度row.Cells[2].SetCellWidth(40, CellWidthType.Point)# 在当前行的末尾添加一个新的单元格cell = row.AddCell()# 设置新单元格的宽度与第二列相同cell.Width = row.Cells[1].Width# 保存文件
document.SaveToFile("插入列.docx", FileFormat.Docx2016)
document.Close()

生成文件如图:
Word表格插入列

Python 删除Word表格中的指定行和列

  • 要删除表格中指定某行,可以直接调用 Table.Rows.RemoveAt() 方法按索引删除。
  • 而删除指定列则需要遍历表格中每一行,然后使用 TableRow.Cells.RemoveAt() 方法删除每一行中的指定单元格。

示例代码:

from spire.doc import *
from spire.doc.common import *# 加载Word文档
document = Document()
document.LoadFromFile("Word表格.docx")# 获取第一节
section = document.Sections[0]# 获取该节中第一个表格
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None# 删除第二行
table.Rows.RemoveAt(1)# 遍历表格中每一行
for i in range(table.Rows.Count):# 删除每一行中的第3个单元格row = table.Rows[i]row.Cells.RemoveAt(2)# 保存文档
document.SaveToFile("删除行和列.docx", FileFormat.Docx2016)
document.Close()

生成文件如图 (原表格为4x6):
删除行列

如何去除水印?点击申请一个月试用授权


相关推荐文章:
Python 在Word中创建表格
Python 复制 Word 表格中的行或列
Python 提取 Word 中的表格

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL篇】Percona XtraBackup工具备份指南:常用备份命令详解与实践(第二篇,总共五篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

自动驾驶系列—智能巡航辅助功能中的车道变换功能介绍

文章目录 1. 背景介绍2. 功能定义3. 功能原理4. 传感器架构5. 实际应用案例5.1 典型场景1:换道时无其他交通参与者5.1.1 直道中的车道变换5.1.2 弯道中的车道变换5.1.3 综合场景应用 5.2 典型场景2:换道方向车道线非虚线5.3 典型场景3:换道方…

【 LCD1602显示屏】使用STC89C51控制1602显示、读写操作时序

文章目录 LCD1602显示概述:引脚说明控制指令接线 控制思路步骤 代码示例总结对databuffer dataShow;的理解 LCD1602显示 概述: LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 1602 即 32 字符…

【机器学习入门】拥抱人工智能,从机器学习开始

拥抱人工智能,从机器学习开始 目录: 1. 机器学习:一种实现人工智能的方法 2. 机器学习算法:是使计算机具有智能的关键 3. Anaconda:初学Python、入门机器学习的首选 4. 总结 转载链接: 文章-阿里云开发者社…

【PostgreSQL】PostgreSQL 教程

博主介绍:✌全网粉丝20W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

2024/07 近期关于AI的阅读和理解[笔记]

玩转API 快速开启 - ApiHug如何在15分钟内,使用 ApiHug 启动一个API开发项目.https://apihug.com/zhCN-docs/start 📐设计先行 通过统一的API 设计元语(DSL, domain specific language), 让API 设计更语言化(Describe);实现高度…

使用overleaf的详细教程分享(创建latex项目/上传期刊latex模板压缩包以及overleaf界面应用的详细介绍)

今天给大家分享一下overleaf的使用,主要包括 overleaf注册和登录;四种在overleaf里创建项目的方式;overleaf主界面各项操作功能介绍等详细教程。 一 overleaf注册和登录 overleaf官网: 可以选择使用Google账号登入,…

docker安装的postgres同时安装postgis

1.拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest2.创建一个 postgres 容器并启动 docker run -it --name postgres --restart always -e POSTGRES_PASSWORD123456 -e ALLOW_IP_RANGE0.0.0.0/0 -v /data/postgres/data:/var/lib/post…

对于RAC环境,如何修改集成的OSWatch工具的配置

OSWatch作为官方推荐的监控rac工具,OSWatch有着至关重要的作用,可以协助dba进行详细排查。在系统卡顿、网络异常等情况下,通过执行操作系统命令来收集系统资源使用情况,它是部署在服务器上的,并且对服务器的性能消耗极…

MySQL条件查询(DQL)

在此之前先给大家看一下我的表里面的数据,以方便接下来的讲解 还需要大家先熟悉这里面的条件 1.语法 SELECT 字段列表 FROM 表名 WHERE 条件列表 例如 1.查询年龄等于20的员工 select * from emp where age 20; 2.查询年龄小于等于20的员工信息 select * fr…

任意空间平面点云旋转投影至水平面—罗德里格旋转公式

1、背景介绍 将三维空间中位于任意平面上的点云数据,通过一系列的坐标变换(平移旋转),使其投影到XOY平面上,同时保证点云的几何中心与XOY平面的原点重合,同时点云形状保持不变。具体效果如下,具…

springboot育婴经验分享平台-计算机毕业设计源码06078

摘要 随着现代社会对育儿知识的需求不断增长,家长们渴望找到一个可靠、便捷的平台来分享和获取育婴经验。为此,我们设计并实现了一个基于SpringBoot的育婴经验分享平台。该平台旨在为家长们提供一个互动交流的空间,让他们能够分享自己的育婴心…

如何通过企业微信会话存档保护企业利益?

赵总: 张经理,最近行业内频发数据泄露事件,我们的客户资料和内部沟通记录安全吗? 张经理: 赵总,我们已经采取了一系列措施来加强数据安全。特别是针对企业微信的沟通记录,我们最近引入了安企神软件,它能很…

跨平台WPF音乐商店应用程序

目录 一 简介 二 设计思路 三 源码 一 简介 支持在线检索音乐,支持实时浏览当前收藏的音乐及音乐数据的持久化。 二 设计思路 采用MVVM架构,前后端分离,子界面弹出始终位于主界面的中心。 三 源码 视窗引导启动源码: namesp…

【LLM大模型】介绍一个大语言模型的微调框架Swift

一、什么微调finetune 在大语言模型中,微调(Fine-tuning)是一种重要的技术,用于提升模型在特定任务或领域上的性能。微调(Fine-tuning)是指在已经预训练好的大语言模型基础上,使用特定领域或任…

【博士每天一篇文献-算法】连续学习算法之HNet:Continual learning with hypernetworks

阅读时间:2023-12-26 1 介绍 年份:2019 作者:Johannes von Oswald,Google Research;Christian Henning,EthonAI AG;Benjamin F. Grewe,苏黎世联邦理工学院神经信息学研究所 期刊&a…

镜像与容器

Docker Image (镜像) Docker 镜像概念 Docker iamge 本质上是一个 read-only 只读文件,这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必需的文件。 可以把 Docker image 理解成一个模板,可以通过这个模板实例化出来很多…

Qt类 | QLabel类详解

文章目录 一、QLabel类介绍二、Properties(属性)三、Public Functions(公共函数)1.构造函数2.alignment与setAlignment函数 -- 标签内容的对齐方式3.buddy与setBuddy函数 -- QLabel关联的伙伴控件4.hasScaledContents与setScaledC…

在学习使用LabVIEW的过程中,需要注意哪些问题?

在学习使用LabVIEW的过程中,需要注意以下问题: 1. 基础知识 图形化编程思维: LabVIEW采用图形化编程方式,与传统的文本编程语言有很大不同,需要适应这种新的编程思维方式。数据流概念: 理解LabVIEW的核心数…

Django Q()函数

Q() 函数的作用 在Django中,Q()函数是一个非常有用的工具,主要用于构建复杂的查询。它允许你创建复杂的查询语句,包括AND、OR和NOT逻辑操作。这对于处理复杂的数据库查询特别有用,特别是在你需要组合多个条件或处理复杂的过滤逻辑…