簡體   English   中英

excel從列表中重命名多個工作表名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM