关于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…...
深入解析SerialPort:从硬件流控制到实战串口通信
1. 串口通信基础:从水管到数据流 第一次接触串口通信时,我盯着电脑上的COM接口发呆了半小时。这玩意儿看起来就像老式打印机接口,但它却是连接硬件世界的魔法通道。串口通信就像用一根水管在两个水桶之间传递水,只不过我们传递的…...
MogFace模型Python入门实战:调用API完成第一个人脸检测程序
MogFace模型Python入门实战:调用API完成第一个人脸检测程序 你是不是也对AI人脸检测感到好奇,想亲手写个程序试试?今天,我们就来一起动手,用Python写一个最简单的程序,调用MogFace模型来检测图片里的人脸。…...
从Bootloader到App的优雅跳转:关键步骤与实战解析
1. 为什么需要Bootloader跳转App? 在嵌入式开发中,Bootloader和App的关系就像电脑的BIOS和操作系统。Bootloader负责硬件初始化、固件更新等底层工作,而App则是实现具体业务逻辑的主程序。两者分工明确,但最终需要无缝衔接。 我遇…...
虚幻引擎PicoVR开发避坑指南:PicoXR与PicoOpenXR插件选型与实战解析
1. PicoXR与PicoOpenXR插件核心差异解析 第一次接触PicoVR开发时,很多开发者都会被两个相似的插件名称搞懵——PicoXR和PicoOpenXR。这两个插件虽然名字相近,但在功能特性和适用场景上存在本质区别。我在去年开发健身类VR应用时就因为选错插件࿰…...
SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南)
SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南) 在开发跨平台C游戏或多媒体应用时,处理多种图片格式是刚需。SDL2原生仅支持BMP格式,而现代项目往往需要JPEG、PNG甚至WebP等更高效的格式。SDL_image库…...
保姆级教程:在Ubuntu 20.04上用Docker搞定GPUStack,让Atlas 300I Duo推理卡跑通LLM
保姆级教程:Ubuntu 20.04Docker部署GPUStack全流程指南(Atlas 300I Duo专版) 最近在折腾Atlas 300I Duo这块推理卡的朋友应该都深有体会——虽然硬件性能强悍,但要让它在Ubuntu系统上顺利跑起大语言模型,光驱动和依赖就…...
WPF颜色转换器实战:如何用ConverterParameter动态切换UI主题色(附完整代码)
WPF颜色转换器实战:如何用ConverterParameter动态切换UI主题色(附完整代码) 在WPF应用开发中,动态主题切换是提升用户体验的关键功能之一。想象一下,你的应用能够根据用户偏好或系统设置实时切换明暗主题,甚…...
python vue医院健康体检系统
目录技术选型与架构设计核心模块划分关键功能实现安全与合规措施部署方案开发里程碑计划项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术选型与架构设计 后端采用Python的Django框架,提供RESTful API接口。Djan…...
FireRed-OCR StudioGPU适配方案:多卡并行解析长文档的配置详解
FireRed-OCR StudioGPU适配方案:多卡并行解析长文档的配置详解 1. 工业级文档解析工具概述 FireRed-OCR Studio是一款基于Qwen3-VL模型开发的下一代文档解析工具,专为处理复杂文档场景设计。它不仅能够精准识别文字内容,更能完整还原文档中…...
Mac用户必看:Homebrew换源提速全攻略(附清华镜像最新配置)
Mac开发者必备:Homebrew国内镜像加速终极指南 每次打开终端准备用Homebrew安装新工具时,那个缓慢的下载进度条是否让你抓狂?作为Mac生态中最受欢迎的包管理工具,Homebrew的默认服务器位于海外,国内用户常遭遇下载速度以…...
