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://www.rhkb.cn/news/378779.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)

1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…

k8s核心操作_存储抽象_K8S中使用Secret功能来存储密码_使用免密拉取镜像_k8s核心实战总结---分布式云原生部署架构搭建033

注意在看的时候一定要把 dxxxx中的xxxx换成--o----c----k----e----r 然后我们再来看一个k8s中的secret的功能,这个功能 用来存储密码的,configMap是用来存配置的 比如我们有个pod,他的镜像,如果是需要密码的,那么 我们现在是从公共仓库拉取的,如果我们从私有仓库拉取,有密码…

无需业务改造,一套数据库满足 OLTP 和 OLAP,GaiaDB 发布并行查询能力

在企业中通常存在两类数据处理场景,一类是在线事务处理场景(OLTP),例如交易系统,另一类是在线分析处理场景(OLAP),例如业务报表。 OLTP 数据库擅长处理数据的增、删、改&#xff0c…

【Arduino IDE】安装及开发环境、ESP32库

一、Arduino IDE下载 二、Arduino IDE安装 三、ESP32库 四、Arduino-ESP32库配置 五、新建ESP32-S3N15R8工程文件 乐鑫官网 Arduino官方下载地址 Arduino官方社区 Arduino中文社区 一、Arduino IDE下载 ESP-IDF、MicroPython和Arduino是三种不同的开发框架,各自适…

防火墙之双机热备篇

为什么要在防火墙上配置双机热备技术呢? 相信大家都知道,为了提高可靠性,避免单点故障 肯定有聪明的小伙伴会想到那为什么不直接多配置两台防火墙,然后再将他们进行线路冗余,不就完成备份了吗? 答案是不…

使用Django框架实现音频上传功能

数据库设计(models.py) class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…

R语言实现神经网络ANN

# 常用激活函数 # 自定义Sigmoid函数 sigmod <- function(x){return(1/(1exp(-x))) } # 绘制Sigmoid曲线 x <- seq(-10,10,length.out 100) plot(x,sigmod(x),type l,col blue,lwd 2,xlab NA,ylab NA,main Sigmoid函数曲线)# 自定义Tanh函数 tanh <- function(…

QT-RTSP相机监控视频流

QT-RTSP相机监控视频流 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "mainwindow.h"#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_settings("outSmart", "LiveWatcher&…

Web开发:卡片翻转效果(HTML、CSS)

目录 一、实现效果 二、完整代码 三、实现过程 1、页面结构 2、初始样式 3、翻转效果 4、图片大小问题 一、实现效果 如下图所示&#xff0c;当鼠标移入某个盒子&#xff0c;就反转这个盒子&#xff0c;并显示其背面的内容——卡片翻转效果&#xff1b; 卡片翻转效果 二…

Java二十三种设计模式-工厂方法模式(2/23)

工厂方法模式&#xff1a;设计模式中的瑞士军刀 引言 在软件开发中&#xff0c;工厂方法模式是一种常用的创建型设计模式&#xff0c;它用于处理对象的创建&#xff0c;将对象的实例化推迟到子类中进行。这种模式不仅简化了对象的创建过程&#xff0c;还提高了代码的可维护性…

基于Vue CLI 3构建Vue3项目(Vue2也可参考)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Android Framework学习笔记(4)----Zygote进程

Zygote的启动流程 Init进程启动后&#xff0c;会加载并执行init.rc文件。该.rc文件中&#xff0c;就包含启动Zygote进程的Action。详见“RC文件解析”章节。 根据Zygote对应的RC文件&#xff0c;可知Zygote进程是由/system/bin/app_process程序来创建的。 app_process大致处…

【Java--数据结构】二叉树oj题(上)

前言 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 判断是否是相同的树 oj链接 要判断树是否一样&#xff0c;要满足3个条件 根的 结构 和 值 一样左子树的结构和值一样右子树的结构和值一样 所以就可以总结以下思路…

【Pytorch】RNN for Name Classification

参考学习来自&#xff1a; https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.htmlRNN完成姓名分类https://download.pytorch.org/tutorial/data.zip 导入库 import glob # 用于查找符合规则的文件名 import os import unicodedata import stri…

【Powershell】超越限制:获取Azure AD登录日志

你是否正在寻找一种方法来追踪 Azure Active Directory&#xff08;Azure AD&#xff09;中用户的登录活动&#xff1f; 如果是的话&#xff0c;查看Azure AD用户登录日志最简单的方法是使用Microsoft Entra管理中心。打开 https://entra.microsoft.com/&#xff0c;然后进入 监…

taro小程序terser-webpack-plugin插件不生效(vue2版本)

背景 最近在做公司内部的小程序脚手架&#xff0c;为了兼容老项目和旧项目&#xff0c;做了vue2taro,vue3taro两个模板&#xff0c;发现terser-webpack-plugin在vue2和vue3中的使用方式并不相同&#xff0c;同样的配置在vue3webpack5中生效&#xff0c;但是在vue2webpack4中就…

学习Python的IDE功能--(一)入门导览

项目视图是主要工具窗口之一。它包含项目目录、SDK 特定的外部库和临时文件。点击带条纹的按钮可以预览演示项目。您也可以按Alt1打开。点击以打开项目视图&#xff0c;展开项目目录以查看项目文件。双击以打开welcome.py。 切换到"学习"工具窗口继续学习本课次。…

ELK企业级日志分析

目 录 一、ELK简介 1.1 elasticsearch简介 1.2 logstash简介 1.3 kibana简介 1.4 ELK的好处 1.5 ELK的工作原理 二、部署ELK 2.1 部署elasticsearch(集群) 2.1.1 修改配置文件 2.1.2 修改系统参数 2.1.2.1 修改systemmd服务管理器 2.1.2.2 性能调优参数 2.1.2.3 …

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…

k8s集群新增节点

目前集群状态 如K8S 集群搭建中规划的集群一样 Masternode01node02IP192.168.100.100192.168.100.101192.168.100.102OSCent OS 7.9Cent OS 7.9Cent OS 7.9 目前打算新增节点node03 Masternode01node02node03IP192.168.100.100192.168.100.101192.168.100.102192.168.100.1…