У меня есть книга Excel с несколькими листами. Некоторые листы содержат снимки экрана, а некоторые листы содержат данные. Некоторые листы содержат оба. Назовите эту книгу Workbook A. Мне нужно программно создать копию рабочей книги после обновления данных на листах и сохранить все снимки экрана. Назовите эту книгу Workbook B. Данные обновляются после подключения к базе данных и выполнения SQL. Вот как я это делаю в настоящее время
Шаг 1 - Сделайте копию Рабочей книги A и назовите копию Рабочей книги B.
Шаг 2 - Для каждого листа в Рабочей книге A, в котором есть данные,
- execute the SQL and create a dataframe from the SQL results.
- delete the sheet from Workbook B
- Create a new sheet with the same name in Workbook B from the dataframe (using df.to_excel())
Это работает нормально, но единственная проблема заключается в том, что новые листы, добавленные в книгу B, добавляются в конце книги как последние листы. Это меняет порядок листов по сравнению с Рабочей книгой A. Мне нужно сохранить тот же порядок листов в Рабочей книге B, что и в Рабочей книге A.
Я также пытался сделать это, используя xlrd, openpyxl и pandas но я не могу получить тот же порядок листов, что и в оригинальной книге. Если использовать pandas, преобразовать все листы в кадры данных, а затем воссоздать рабочую книгу из кадра данных по порядку, я могу получить тот же порядок, но потерял все снимки экрана.
Любая помощь для достижения этой цели будет высоко оценена .