关于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软件,不驻留后台。

【运行前的表格】

【运行后的表格】

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

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

相关文章

国企和互联网怎么选?

2023年马上就要结束了&#xff0c;天气还是很冷&#xff0c;大家今年的总结做了吗&#xff1f; 正好这两天看到另外一个我关注的博主更新了一个自己的年终总结。其中有一些话令人印象深刻。 未来对我来说&#xff0c;毫无吸引力。原因很简单&#xff0c;当下已经足够令人清醒、…

【各种**问题系列】Java 数组集合之间的相互转换

&#x1f4cc; 问题点&#xff1a; 在 Coding 过程中经常会遇到数组、List、Set、Map 之间的相互转换......这里记录一下转换的几种方式。&#x1f636;&#x1f636;&#x1f636; 目录 &#x1f4cc; 集合转换 1.数组 转 List&#xff1a; 2.List 转 数组&#xff1a; 3…

STM32F407-14.3.10-表73具有有断路功能的互补通道OCx和OCxN的输出控制位-1x110

如上表所示&#xff0c;MOE1&#xff0c;OSSR1&#xff0c;CCxE1&#xff0c;CCxNE0时&#xff0c;OCx对应端口的输出状态取决于OCx_REF与极性选择&#xff08;CCxP&#xff09;&#xff1b;OCxN输出状态取决于极性选择&#xff08;CCxNP&#xff09;。 ---------------------…

为何教育行业需要搭建自己的知识付费平台,而非入驻其他公域流量平台

在当今的知识经济时代&#xff0c;教育行业正面临着前所未有的机遇和挑战。随着知识付费市场的蓬勃发展&#xff0c;越来越多的教育机构和个人教师选择进入这一领域&#xff0c;以扩大影响力并实现知识变现。然而&#xff0c;在选择进入知识付费市场的路径时&#xff0c;教育行…

OGG-MySQL无法正常同步数据问题分析

问题背景: 用户通过OGG从源端一个MySQL从库将数据同步到目标端的另一个MySQL数据库里面&#xff0c;后面由于源端的从库出现了长时间的同步延时&#xff0c;由于延时差距过大最后选择通过重建从库方式进行了修复 从库重建之后&#xff0c;源端的OGG出现了报错ERROR OGG-0014…

C# 初识System.IO.Pipelines

写在前面 在进一步了解Socket粘包分包的过程中&#xff0c;了解到了.NET 中的 System.IO.Pipelines&#xff0c;可以更优雅高效的解决这个问题&#xff1b;先跟随官方的示例做个初步的认识。 System.IO.Pipelines 是一个库&#xff0c;旨在使在 .NET 中执行高性能 I/O 更加容…

【论文阅读】MCANet: Medical Image Segmentation with Multi-Scale Cross-Axis Attention

文章目录 摘要创新点总结实现效果总结 摘要 链接&#xff1a;https://arxiv.org/abs/2312.08866 医学图像分割是医学图像处理和计算机视觉领域的关键挑战之一。由于病变区域或器官的大小和形状各异&#xff0c;有效地捕捉多尺度信息和建立像素间的长距离依赖性至关重要。本文提…

谷歌公布 2023 年最受欢迎的 Chrome 扩展

2023年&#xff0c;谷歌公布了最受欢迎的Chrome扩展&#xff0c;共有12款涵盖了多个领域&#xff0c;从提升工作效率到游戏娱乐。这些扩展旨在增强用户的浏览体验和生产力。 Scribe 功能&#xff1a;使用AI记录工作流程并创建逐步指南。 特点&#xff1a;自动记录和生成详细…

Hive05_DML 操作

1 DML 数据操作 1.1 数据导入 1.1.1 向表中装载数据&#xff08;Load&#xff09; 1&#xff09;语法 hive> load data [local] inpath 数据的 path [overwrite] into table student [partition (partcol1val1,…)];&#xff08;1&#xff09;load data:表示加载数据 &…

【单调队列】LeetCode1499:满足不等式的最大值

涉及知识点 单调队列 题目 给你一个数组 points 和一个整数 k 。数组中每个元素都表示二维平面上的点的坐标&#xff0c;并按照横坐标 x 的值从小到大排序。也就是说 points[i] [xi, yi] &#xff0c;并且在 1 < i < j < points.length 的前提下&#xff0c; xi &…

【如何破坏单例模式(详解)】

✅如何破坏单例模式 &#x1f4a1;典型解析✅拓展知识仓✅反射破坏单例✅反序列化破坏单例✅ObjectlnputStream ✅总结✅如何避免单例被破坏✅ 避免反射破坏单例✅ 避免反序列化破坏单例 &#x1f4a1;典型解析 单例模式主要是通过把一个类的构造方法私有化&#xff0c;来避免重…

【数据库系统概论】第3章-关系数据库标准语言SQL(3)

文章目录 3.5 数据更新3.5.1 插入数据3.5.2 修改数据3.5.3 删除数据 3.6 空值的处理3.7 视图3.7.1 建立视图3.7.2 查询视图3.7.3 更新视图3.7.4 视图的作用 3.5 数据更新 3.5.1 插入数据 注意&#xff1a;插入数据时要满足表或者列的约束条件&#xff0c;否则插入失败&#x…