如何使用xlwings库中的“sheet“函数中的“add”方法在工作簿里插入新的工作表----关于Python里xlwings库对Excel表格的操作(八)

       这篇小笔记主要说说【如何利用xlwings库中的“sheet"函数中的“add”方法在工作簿里插入新的工作表】。小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】【点击此处可进入目录】
(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”函数对工作表进行改名;
。。。。。。等等

       在工作簿中插入新的工作表,要得用sheet"函数中的“add”方法。主要的就是一句:

【在指定表格后新表格】workbook.sheets.add('Sheet2',after='Sheet1')

#“workbook“是指要打开操作的工作簿;

#"Sheet2"工作簿中的“Sheet1”表后面插入新表“Sheet2”,"Sheet2"是新表格的名称;

#“after=Sheet1”是指要在哪个表格后插入表格,“Sheet1”是指在哪个表格前后操作的哪个”定位”的表格的表格名称;

【在指定表格前插入新表格】workbook.sheets.add('Sheet2',before='Sheet1')

#在"workbook"工作簿中的“Sheet1”表前面插入新表“Sheet2”;

用例子说说:

'''
先把原工作表“Sheet1”重命名为“原始表”,
然后在工作表“原始表”后面新建一个工作表并命名为“分析表”,
最后读取“原始表”部分数据并把这些数据写入新建的“分析表”里。
'''
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False               #关闭各种提示信息,可以提高运行速度
filename='E:/素材/学生成绩表.xls'
workbook=app.books.open(filename)      
#打开工作簿
workbook_sheet=workbook.sheets[0]      
#打开工作簿中的最前面的第1份表格     
#打开工作表,这里指定打开最靠前的第1份工作表,工作表名称是列表属性,可以指定在列表中的位置也可是“工作表的名称”
workbook_sheet_name=workbook_sheet.name     
#利用“name”函数获取上述工作表的“名称”,并把名称赋给变量“workbook_sheet_name”
print(f'原工作表名:{workbook_sheet_name}')
#显示上述工作表的“名称”

workbook_sheet.name=workbook_sheet.name.replace(workbook_sheet_name,'原始表')     
#利用“name”和“replace”两个函数重命名上述工作表
#书写方式:打开的原工作表名.name=打开的原工作表名.name.replace(打开的工作表名,'重命名的工作表名')
new_name=workbook_sheet.name 
#利用“name”函数获取重命名后的工作表“名称”,并把名称赋给变量“new_name”
print(f'重命名后新的工作表名:{new_name}')
#显示上述重命名后的工作表“名称”

Originally_sheet_data=workbook_sheet.range('B1:E5').value  
#以“B1”为定位一行一行向右读取整行,直到表格最后一行。
#在这儿因为从“B1”开始,相当于读取“B列及之后”的所有数据。
print(f'用区域读取方式读取工作表中的(B1:E5)所得的数据形式: \n{Originally_sheet_data}')
print("用区域读取方式读取工作表中的(B1:E5)所得的数据的属性:",type(Originally_sheet_data))
print()#显示空行,相当于隔一行。
workbook.sheets.add('分析表',after='原始表')
#workbook.sheets.add('Sheet2',after='Sheet1');在"workbook"工作簿中的“Sheet1”表后面插入新表“Sheet2”;
#“Sheet1”是指要在哪个表格前后进行插入的表格的名称,“Sheet2”是指要插入的表格名称;
#在这儿就是在原表格“原始表”后面创建一份新的表格且取名为“分析表”。
#workbook.sheets.add('Sheet2',before='Sheet1');在"workbook"工作簿中的“Sheet1”表前面插入新表“Sheet2”;

New_All_worksheet=workbook.sheets
print(f'现工作簿中所有的工作表的名称: \n{New_All_worksheet}')
print("现工作簿中所有工作表名称的属性:",type(New_All_worksheet))
print()#显示空行,相当于隔一行。
Activate_worksheet=workbook.sheets['分析表']
#激活新工作表的“分析表”,准备工作;正如用鼠标点选“分析表”一样。
#哪个表格被激活就只能对哪个表格操作。

Activate_worksheet_name=Activate_worksheet.name     
#利用“name”函数获取当前被激活的工作表的“名称”,哪个表格被激活就只能对哪个表格操作。
#并把名称赋给变量“New_worksheet_name”
print(f'当前被激活的表格:{Activate_worksheet_name}')

Activate_worksheet.range('A1').value=Originally_sheet_data  #expand('table')
#向被激活的“分析表”进行写入操作。如果没有激活“分析表”,这操作会写在原表格“原始表”里面
#把“原始表”中的“B列及之后”的所有数据写入新表的“分析表”(从A1单元格开始)

workbook.save()
workbook.close()
app.quit()

运行前的表格:

运行后的表格:

终端显示的结果:

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值