Я пытаюсь скопировать диапазон данных на основе координат строки с листа на другой.
У меня есть список с координатами строки tbrow = [1, 34, 52, 75, 101]
Я хотел бы скопировать диапазон строк с:
1 до 34 с листа 0 на лист 1,
34 до 52 от листа 0 до листа 2,
52 до 75 от листа 0 до листа 3,
75 до 101 от листа 0 до листа 4.
До сих пор я пробовал следующее:
-Получить основной лист 0
sheet0 = wb["Sheet"]
Затем я сохранил листы в переменной , игнорируя первый лист
sheets = wb.worksheets[1:]
В итоге я попытался скопировать данные значения.
for i in range(tbrow[i],tbrow[i]+1)
for j in range(1,sheet0.max_column+1):
for k in sheets:
k.cell(row=i, column=j).value = sheet0.cell(row=i, column=j).value
Проблема в том, что я копирую только первый ряд на остальные листы, а не на весь диапазон. (1-34; 34-52 и т. Д.) Чего мне не хватает?
Может кто-нибудь помочь мне с организацией логи c здесь? Или предоставить решение?
Спасибо!
ОБНОВЛЕНИЕ
Другим подходом было нарезать список.
a,b = tbrow[:2]
for i in range(a,b):
for j in range(1,sheet1.max_column+1):
for k in sheets: k.cell(row=i, column=j).value = sheet1.cell(row=i, column=j).value
Но это берет только первые две координаты строки из списка, и я хотел бы go для следующего элемента в списке:
- От первого к второму
- от второго к третьему
- от третьего к четвертому
... и т. Д. -