如何使用xlwings库对Excel表格进行排列----关于Python里xlwings库对Excel表格的操作(三十八)

发布时间:2024年01月20日

? ? ? ?这篇小笔记主要记录【如何使用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”函数对工作表进行改名;
。。。。。。等等

【如何使用xlwings库对Excel表格进行排列】

Work_Sheet.range('A1:F9').api.Sort(Key1=Work_Sheet.range('C1').api, Order1=1, Orientation=1,Header=1)

#要注意大小写;

# “Work_Sheet”是指当前激活的表格;

# “range('A1:F9')”要进行排序的区域;

# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;

# “api.Sort(Key1=Work_Sheet.range('C1').api, Order1=1, Orientation=1,Header=1)”进行排序的代码及参数;

# “key1=Work_Sheet.range('C1').api”中的“key1”是表示排序时的“主要关键词”,“key2”是表示排序时的“次要关键词”,“key3”是表示排序时的“第三关键词”之意;

# “key1=Work_Sheet.range('C1').api”中的“Work_Sheet.range('C1').api”是表示要排序的开始单元格;

# “Orientation=1”表示按开始单元格进行列排序,“Orientation=2”表示按开始单元格进行行排序;

# “Order1=1”表示按升序排列,“Order1=2”表示按降序排列;

# “Header=1”表示有所选要排序的区域有表头,“Header=2”表示有所选要排序的区域无表头。

# 上述代码也可以写成如下(这样理清晰条理):

# sht = Work_Sheet.range('A1:F9').api

# keyword1 = Work_Sheet.range('C1').api

# sht.Sort(key1=keyword1,Order=1,Orientation=1,Header=1)

【举例说说更直观】

#【如何对表格进行排列】
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:F9').api.Sort(Key1=Work_Sheet.range('C1').api, Order1=1, Orientation=1,Header=1)
# “range('A1:F9')”要进行排序的区域;
# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;
# “api.Sort(Key1=Work_Sheet.range('C1').api, Order1=1, Orientation=1,Header=1)”进行排序的代码及参数;
# “key1=Work_Sheet.range('C1').api”中的“key1”是表示排序时的“主要关键词”,“key2”是表示排序时的“次要关键词”,“key3”是表示排序时的“第三关键词”之意;
# “key1=Work_Sheet.range('C1').api”中的“Work_Sheet.range('C1').api”是表示要排序的开始单元格;
# “Orientation=1”表示按开始单元格进行列排序,“Orientation=2”表示按开始单元格进行行排序;
# “Order1=1”表示按升序排列,“Order1=2”表示按降序排列;
# “Header=1”表示有所选要排序的区域有表头,“Header=2”表示有所选要排序的区域无表头。
# 上述代码也可以写成如下(这样理清晰条理):
# sht = Work_Sheet.range('A1:F9').api
# keyword1 = Work_Sheet.range('C1').api
# sht.Sort(key1=keyword1,Order=1,Orientation=1,Header=1)

Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。

【运行前的表格】

【运行后的表格】

文章来源:https://blog.csdn.net/AAA000666_666000/article/details/135715161
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。