xlwings批量重命名工作表


在同一个工作簿中有多个有规律的表名,对名称进行重命名,利用worksheets[i].name.replace(old_name,new_name)方法进行

#批量重命名一个工作簿中所有的工作表

import xlwings as xw
file_path = '/Users/hugua/Desktop/python_practise/统计表.xlsx'
app = xw.App(visible=True,add_book=False)
workbook = app.books.open(file_path)
worksheets = workbook.sheets
for i in range(len(worksheets)):
worksheets[i].name = worksheets[i].name.replace('销售','')
workbook.save('/Users/hugua/Desktop/python_practise/统计表1.xlsx')

#打印更改后的工作表名
new_file_path = '/Users/hugua/Desktop/python_practise/统计表1.xlsx'
new_workbook = app.books.open(new_file_path)
new_worksheets = new_workbook.sheets
for a in new_worksheets:
print(a)
app.quit()

结果:







如果只进行部分工作表名称的更改,比如只改前五个表名称,则需要使用切片功能,修改代码,完整代码如下:

#批量重命名一个工作簿中所有的工作表

import xlwings as xw
file_path = '/Users/hugua/Desktop/python_practise/统计表.xlsx'
app = xw.App(visible=True,add_book=False)
workbook = app.books.open(file_path)
worksheets = workbook.sheets
for i in range(len(worksheets))[:5]:
worksheets[i].name = worksheets[i].name.replace('销售','')
workbook.save('/Users/hugua/Desktop/python_practise/统计表2.xlsx')

#打印更改后的工作表名
new_file_path = '/Users/hugua/Desktop/python_practise/统计表2.xlsx'
new_workbook = app.books.open(new_file_path)
new_worksheets = new_workbook.sheets
for a in new_worksheets:
print(a)
app.quit()

结果显示如下:







结果中可以看到前五个工作表的名称被修改了,后面两个没改变。