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()

结果:

<Sheet [统计表1.xlsx]分部一>
<Sheet [统计表1.xlsx]分部二>
<Sheet [统计表1.xlsx]分部三>
<Sheet [统计表1.xlsx]分部四>
<Sheet [统计表1.xlsx]分部五>
<Sheet [统计表1.xlsx]分部六>
<Sheet [统计表1.xlsx]分部七>

 

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

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

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()

结果显示如下:

<Sheet [统计表2.xlsx]分部一>
<Sheet [统计表2.xlsx]分部二>
<Sheet [统计表2.xlsx]分部三>
<Sheet [统计表2.xlsx]分部四>
<Sheet [统计表2.xlsx]分部五>
<Sheet [统计表2.xlsx]销售分部六>
<Sheet [统计表2.xlsx]销售分部七>

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM