There are a few potential pathways through this, depending on the resources you choose to use.
You have not mentioned whether you want values copied, formulas or both. I assume values only.
If you can do the copy while the workbook is closed, maybe pyopenxl or xlrd and xlwrt could do the trick. Both of these can copy values and formulas but neither of these solutions can evaluate formulas but that sounds OK from your description.
If you need the workbook to be open while you're doing the copy or move, there are some great solutions which integrate Python and Excel using COM. xlwings, PyXll , FlyingKoala and DataNitro. With these solutions you can write some Python code that does a copy. If you just want values, you can use dataframes to move the data around.
I have only used xlwings (and [FlyingKoala] - which uses xlwings). xlwings facilitates a two-way communication between Python and Excel so you can call Python from Excel and you can call Excel (including VBA) from Python. This technique can be great for speeding up operations, especially in reporting and modelling.
PyXll and FlyingKoala have an added advantage where they can read Excel formulas and convert them into Python code then execute (evaluate) the dynamically generated Python code.
An example using xlwings to copy values only. I used this to copy 100,000 rows with 26 columns (A through Z) and it took 17 seconds;
import xlwings as xw
import numpy as np
@xw.func
@xw.arg('range_to_copy', np.array, doc='')
@xw.ret(index=False, header=False, expand='table')
def copy_values(range_to_copy):
return range_to_copy