Excel переименовать несколько имен листов из списка - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть несколько листов в 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.Я хотел бы знать, если это возможно.Приятно слышать некоторые предложения.

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете использовать 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)

Вы можете запустить это в цикле, чтобы переименовать все листы.Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...