У меня есть рабочая тетрадь с 5 листами, которая называется AB C D E.
A - это очень большой лист, который мне не нужен все время.
Я хочу скопировать только последние 4 листа, BCDE, в другую рабочую книгу, потому что я хочу манипулировать данными в BCDE без больших данных на листе A.
Я делаю это с помощью скопировать файл с помощью shutil, загрузить рабочую книгу, а затем удалить лист, который я не хочу. Все работает нормально, но метод load_workbook занимает слишком много времени (~ 60 секунд только для загрузки).
Что я могу сделать, чтобы ускорить это? Я не могу сделать data_only, так как мне нужно форматирование, формулы и диаграммы в BCDE. Открыть для других методов копирования рабочих листов.
Код:
filename=r'small.xlsx'
shutil.copyfile(filename,filename.replace('.xlsx','_2.xlsx'))
ts=time.perf_counter()
workbook = openpyxl.load_workbook(filename.replace('.xlsx','_2.xlsx')) #this is taking very long.
print(time.perf_counter()-ts)
std = workbook['A']
workbook.remove(std)
workbook.save(filename.replace('.xlsx','_2.xlsx'))