关于Python里xlwings库对Excel表格的操作(十八)
这篇小笔记主要记录如何【设置单元格数据的对齐方式】。
前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】【点击此处可进入目录】
(1)如何安装导入xlwings库;
(2)如何在Wps下使用xlwings中使用WPS对表格操作;
(3)如何安装导入xlwings库、如何用xlwings打开要操作的Excel表格;
(4)如何使用xlwings对Excel表格数据进行读取操作;
(5)如何使用xlwings对Excel表格进行“保存”或“另存为”操作;
(6) 如何使用xlwings对Excel表格进行写入数据操作;
(7)如何使用xlwings向Excel表格中写入Excel公式;
(8)如何使用xlwings库中的“name"函数和“replace”函数对工作表进行改名;
。。。。。。等等
【行列合并单元格的方式】
(1)Work_Sheet.range('A1:A2').merge()
#Work_Sheet是指当前激活的工作表;
#用“range”函数中的“.merge”方法合并单元格“A1:A2”区域,无指定合并方向则按单元格走向合并,这里是按列合并第A列第1、2行的两单元格;因为从单元格“A1”开始至“A2”,所以合并后的单元格位置名称也为“A1”且包含原“A1”数据,当然原来的“A2”及其数据都不存在了,下一个直接是“A3”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并。因此,上述语句与“Work_Sheet.range('A1:A2').merge(across=False)”结果一样
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格。
(2)Work_Sheet.range('B1:E1').merge()
#Work_Sheet是指当前激活的工作表;
#用“range”函数中的“.merge”方法合并单元格“B1:E1”区域,无指定合并方向则按单元格走向合并,这里是按行合并第1行的第B至E列的单元格;因为从单元格“B1”开始至“E1”,所以合并后的单元格位置名称也为“B1”且包含原“B1”数据,当然原来的“C1至E1”及其数据都不存在了,下一个直接是“F1”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并。因此,上述语句与“Work_Sheet.range('B1:E1').merge(across=True)”结果一样
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格。
【区域合并单元格的方式】
(3)Work_Sheet.range('A3:C4').merge(across=True)
#用“range”函数中的“.merge”方法合并单元格“A3:C4”区域,这里指定按行,所以合并后有第3、4两行,且这两行位置名称分别为“A3”和“A4”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格。
(4)Work_Sheet.range('D3:E4').merge(across=False)
#用“range”函数中的“.merge”方法合并单元格“D3:E4”区域,这里只能合并为一个大矩形单元格位置名称为“D3”
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格。
(5)Work_Sheet.range('A5:E6').merge()
#用“range”函数中的“.merge”方法合并单元格“A5:E6”区域,这里只能合并为一个大矩形单元格位置名称为“A5”
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格。
【用例子说说更直观】
'''
【合并单元格行、列、区域】
一、合并单元格的行:用“range”函数中的“.merge(across=True)”参数(方法)合并单元格的行;
二、合并单元格的列:用“range”函数中的“.merge(across=False)”参数(方法)合并单元格的列;
最后保存操作。
'''
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False #关闭各种提示信息,可以提高运行速度
File_Name='E:/素材/学生成绩表.xls'
#打开要处理的Excel文件名
Work_Book=app.books.open(File_Name)
#打开要处理的Excel文件中的工作簿
Work_Sheet=Work_Book.sheets[0]
#打开要处理的Excel工作簿中的工作表;
#“[0]”是指定打开最靠前的第1份工作表,也可以把“0”写成要打开的指定要打开的“工作表的名称”;
#现在只打开这一个工作表也相当于激活这工作表,后面没有打开激活另一工作表,则所有操作只对现这工作表起作用。Work_Sheet.range('A1:A2').merge()
#用“range”函数中的“.merge”方法合并单元格“A1:A2”区域,无指定合并方向则按单元格走向合并,这里是按列合并第A列第1、2行的两单元格;
#因为从单元格“A1”开始至“A2”,所以合并后的单元格位置名称也为“A1”且包含原“A1”数据,当然原来的“A2”及其数据都不存在了,下一个直接是“A3”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并;
#因此,上述语句与“Work_Sheet.range('A1:A2').merge(across=False)”结果一样
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。
#<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格
Work_Sheet.range('B1:E1').merge()
#用“range”函数中的“.merge”方法合并单元格“B1:E1”区域,无指定合并方向则按单元格走向合并,这里是按行合并第1行的第B至E列的单元格;
#因为从单元格“B1”开始至“E1”,所以合并后的单元格位置名称也为“B1”且包含原“B1”数据,当然原来的“C1至E1”及其数据都不存在了,下一个直接是“F1”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并;
#因此,上述语句与“Work_Sheet.range('B1:E1').merge(across=True)”结果一样
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。
#<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格
Work_Sheet.range('A3:C4').merge(across=True)
#用“range”函数中的“.merge”方法合并单元格“A3:C4”区域,这里指定按行,所以合并后有第3、4两行,且这两行位置名称分别为“A3”和“A4”;
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。
#<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格
Work_Sheet.range('D3:E4').merge(across=False)
#用“range”函数中的“.merge”方法合并单元格“D3:E4”区域,这里只能合并为一个大矩形单元格位置名称为“D3”
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。
#<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格
Work_Sheet.range('A5:E6').merge()
#用“range”函数中的“.merge”方法合并单元格“A5:E6”区域,这里只能合并为一个大矩形单元格位置名称为“A5”
#“merge”有个参数“across”是设置方式,“across=True”按行合并(这也是默认值),“across=False”是按列合并,
#注意:<1>在合并单元格之前,请确保所选范围内没有数据,否则这些数据可能会被删除或移位。
#<2>既跨行又跨列的合并区域只有按行合并或大区域合并两种方式,若没有指定按行合并(即“across=True”)或指定为按列合并(即“across=False”),都并为(行X列)一个大矩形的单元格Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。
【运行前的表格】

【运行后的表格】

相关文章:
关于Python里xlwings库对Excel表格的操作(十八)
这篇小笔记主要记录如何【设置单元格数据的对齐方式】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; (2)如何在Wps下…...
VScode远程连接服务器,Pycharm专业版下载及远程连接(深度学习远程篇)
Visual Code、PyCharm专业版,本地和远程交互。 远程连接需要用到SSH协议的技术,常用的代码编辑器vscode 和 pycharm都有此类功能。社区版的pycharm是免费的,但是社区版不支持ssh连接服务器,只有专业版才可以,需要破解…...
Vue2和Vue3组件间通信方式汇总(3)------$bus
组件间通信方式是前端必不可少的知识点,前端开发经常会遇到组件间通信的情况,而且也是前端开发面试常问的知识点之一。接下来开始组件间通信方式第三弹------$bus,并讲讲分别在Vue2、Vue3中的表现。 Vue2Vue3组件间通信方式汇总(1)…...
PyTorch加载数据以及Tensorboard的使用
一、PyTorch加载数据初认识 Dataset:提供一种方式去获取数据及其label 如何获取每一个数据及其label 总共有多少的数据 Dataloader:为后面的网络提供不同的数据形式 数据集 在编译器中导入Dataset from torch.utils.data import Dataset 可以在jupyter中查看Dataset官方文档&…...
TensorFlow是什么
TensorFlow是什么 Tensorflow是一个Google开发的第二代机器学习系统,克服了第一代系统DistBelief仅能开发神经网络算法、难以配置、依赖Google内部硬件等局限性,应用更加广泛,并且提高了灵活性和可移植性,速度和扩展性也有了大幅…...
docker-compose 安装Sonar并集成gitlab
文章目录 1. 前置条件2. 编写docker-compose-sonar.yml文件3. 集成 gitlab4. Sonar Login with GitLab 1. 前置条件 安装docker-compose 安装docker 创建容器运行的特有网络 创建挂载目录 2. 编写docker-compose-sonar.yml文件 version: "3" services:sonar-postgre…...
支付平台在选择服务器租用时要注意什么?
如果要建设一个支付平台的话要进行服务器租用,一旦涉及到钱的方面就必须要顾虑到多方面,这样才能保证安全性,今天小编就给大家讲一讲要注意什么呢? 1、带宽:带宽是业务稳定性的直接因素,只有带宽充足,这样…...
IDEA2018升级2023,lombok插件不兼容导致get/set方法无法使用
1、问题 最近了解到一款叫CodeGeeX 的智能编程助手,想要试用一下,但是IDEA2018版本太低了,没有CodeGeeX插件,于是打算将IDEA升级到2023.2.5版本,具体升级过程略过,升级完成后,启动项目…...
企业微信服务商代开发模式获取授权企业的客户信息
服务商代开发素材: 服务商可信ip 企业微信认证 测试时不用再次创建一个企业微信,可以用当前的企业微信作为授权企业使用一、创建代开发应用模板 1,代开发模板回调URL配置 参考 注意:保存代开发应用模板时的corpId是服务商的企业…...
库存管理方法有哪些
库存管理是工作中一个离不开的话题,不管是仓管还是业务员都或多或少接触过库存管理方面的工作,例如:进货、销售、库存盘点等等这些都属于库存管理的范筹,那么库存管理方法有哪些?用哪种方法管理库存比较好,…...
数字化车间推动制造业生产创新
一、数字化车间应用场景 1:资源智能化管理 数字化车间通过搭建智能化的设备监测系统,实时采集和监控设备的运行状态和生产数据,对设备进行实时管理和维护,降低故障率和维修成本。同时,通过对生产过程中的数据采集和分…...
Linux的安装及管理程序
一、如何在linux安装卸载软件 1. 编译安装 灵活性较高 难度较大 可以安装较新的版本 2. rpm安装(redhat) linux 包安装 查软件信息:是否安装,文件列表 rpm 软件名 3. yum yum是RPM升级版本,解决rpm的弊端 安装软件 首…...
c语言-表达式求值
目录 前言一、隐式类型转换1.1 整型提升 二、算术转换三、操作符的属性四、问题表达式总结 前言 表达式求值的顺序一部分由操作符的优先级和结合性决定。 有些表达式的操作数在求值的过程中可能需要转换为其他类型 一、隐式类型转换 隐式类型转换是在编译器自动进行的类型转换…...
小型洗衣机哪个牌子质量好?口碑最好的四款小型洗衣机推荐
随着科技的快速发展,现在的人们越来越注重自己的卫生问题,不仅在吃上面会注重卫生问题,在用的上面也会更加严格要求,而衣服做为我们最贴身的东西,我们对它的要求也会更加高,所以最近这几年较火爆的无疑是内…...
springCould中的Ribbon-从小白开始【5】
目录 1.什么是Ribbo❤️❤️❤️ 2.eureka自带Ribbon ❤️❤️❤️ 3. RestTemplate❤️❤️❤️ 4.IRule❤️❤️❤️ 5.负载均衡算法❤️❤️❤️ 1.什么是Ribbo 1.Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端,负载均衡的工具。2.主要功能是提供客户端的软件…...
持续集成交付CICD:Jira 发布流水线
目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira 远程触发 Jenkins 实现合并 GitLab 分支 4.K8S master节点操作 5.Jira 发布流水线 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注master1K8S master节点1.20.6192.168.204.180 jenkins…...
JuiceSSH结合内网穿透实现公网远程访问本地Linux虚拟机
文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …...
使用 pytest.ini 文件控制输出 log 日志
一、前置说明 pytest.ini 文件中可以配置参数来控制 pytest 的运行行为,其存放路径要求与 conftest.py 一样。 项目根目录project_root/ ├── pytest.ini ├── tests/ │ └── test_demo.py以test开头的测试子目录project_root/ ├── tests/ │ ├── pytest.in…...
【Spring】SpringBoot 配置文件
文章目录 什么是配置文件SpringBoot配置文件配置文件快速入手配置文件的格式properties 配置文件说明properties 基本语法读取配置文件信息properties 配置格式缺点 yml 配置文件说明yml 基本语法使用 yml 连接数据库 yml 使用进阶yml 配置不同数据类型配置对象配置集合配置Map…...
Koordinator 支持 K8s 与 YARN 混部,小红书在离线混部实践分享
作者:索增增(小红书)、宋泽辉(小红书)、张佐玮(阿里云) 背景介绍 Koordinator 是一个开源项目,基于阿里巴巴在容器调度领域多年累积的经验孵化诞生,目前已经支持了 K8s…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
【java】【服务器】线程上下文丢失 是指什么
目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...
