我有多个工作表从数据帧转换成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'对象没有属性'title'。
现在,我想将工作表重命名为dups值。 我想知道是否有可能。 很高兴听到一些建议。
答案 0 :(得分:1)
您可以使用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)
您可以循环运行以重命名所有工作表。让我知道是否有帮助。
答案 1 :(得分:0)
可以使用 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')
此功能可以帮助您实现您的目标。