Как изменить имена листов без потери ссылки на график с помощью openpyxl

#python #excel #graph #openpyxl

#питон #превосходить #График #openpyxl

Вопрос:

Я пытаюсь написать код, который изменит имена листов в файле excel на основе данных в другом файле Excel. Поначалу это работало нормально;

 Sheet_names = "A","B","C","D" wb = openpyxl.load_workbook(file_name.xlsx)  for i in range (1, len(Sheet_names)):  Name_change = wb["Sheet{}".format(str(i))]  wb.active = Name_change  Name_change.title = "{}".format(Sheet_names[i])  wb.save((file_name.xlsx)) wb.close()  

Но по какой-то причине (я не уверен, что я изменил) график в файле excel не обновляется. Таким образом, ссылка на данные по-прежнему относится к листу 1, Листу 2 и т. Д. Я также получаю предупреждающее сообщение о наличии внешних ссылок — я предполагаю, что ссылки на листы являются внешними? Файл excel берется из шаблона, который копируется поперек. Изменение его вручную не является опцией, является ли единственным вариантом воссоздание графика Openpyxl для каждого листа?

Из идей, помогите!

Комментарии:

1. Все данные в диаграмме относятся к листам по имени, поэтому, если вы измените имя листа, вам придется обновить ссылки на диаграммы. К сожалению, простого способа сделать это не существует.

2. О, в этом есть смысл. Я уверен, что раньше это делалось автоматически, но, возможно, я просто не заметил, что графики были нарушены. Спасибо за ваш ответ!