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