[英]excel rename multiple sheet names from list
我在 excel 中有多個從數據幀轉換而來的工作表。 我已經在列表中收集了工作表名稱。 我想將工作表名稱更改為我收集的重復列值,如下所示。 這是我的代碼:
dups = df.set_index('Group').index.get_duplicates()
從數據框轉換為 excel 后,我在列表中收集了工作表名稱。
xls = pd.ExcelFile('filename', on_demand=True)
sheets=xls.sheet_names
我也使用如下所示:
for i in group: #names to be renamed, collected as list
wb=openpyxl.load_workbook('file.xlsx')
worksheet = wb.get_sheet_names()
worksheet.title = i
wb1.save('file.xlsx')
但是,我得到了 AttributeError: 'list' object has no attribute 'title'。
現在,我想將工作表重命名為 dups 值。 我想知道是否有可能。 很高興聽到一些建議。
您可以為此使用openpyxl
:
import openpyxl
file_loc = 'myexcel.xlsx'
workbook = openpyxl.load_workbook(file_loc)
worksheet = workbook.get_sheet_by_name('Sheet1')
worksheet.title = 'MySheetName'
workbook.save(file_loc)
您可以循環運行它以重命名所有工作表。 如果這有幫助,請告訴我。
可以for sheet in wb
使用for sheet in wb
迭代工作簿
下面是一個例子:
import openpyxl
import os
os.chdir('C:\\Users\\Vahan\\Desktop\\xlsx')
wb = openpyxl.load_workbook('example.xlsx')
for sheet in wb: # or wb.worksheets
sheet.title = 'RenamedSheets'
wb.save('example.xlsx')
此功能可以幫助您實現您想要做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.