Я знаю, как выбрать диапазон ячеек в Openpyxl:Python Openpyxl, копировать и вставлять диапазон ячеек
cell_range = sheet['A1':'C3']
Как я могу вставить CELL_RANGE выше другого диапазона, как sheet['A11':'C13']
?
Я знаю, как выбрать диапазон ячеек в Openpyxl:Python Openpyxl, копировать и вставлять диапазон ячеек
cell_range = sheet['A1':'C3']
Как я могу вставить CELL_RANGE выше другого диапазона, как sheet['A11':'C13']
?
Я не думаю, что есть нотация для резки, как описано в вашем примере, главным образом потому, что openpyxl
использует списки Cell
s, а не списки простых значений.
Вот основной поток, который я бы использовал, чтобы захватить только часть листа.
>>> wb = openpyxl.load_workbook(file_name)
>>> sheet = wb.worksheets[0]
>>> rows = sheet.rows[1:3] # slice rows
>>> foobar = [cell.value for row in rows for cell in row[3:10]] # slice row
EDIT: От this question это выглядит, как вы можете сделать что-то вроде этого:
foo = [row[start_col:end_col] for row in sheet.rows[start_row:end_row]]
который даст вам список списков клеток. Не забудьте использовать foo[i][j].value
, чтобы получить содержимое cell
.
Для некоторых идей вы можете посмотреть на this snippet. Обратите внимание, что это полностью не поддерживается.
AFAIK Вы не можете копировать определенные ячейки, но я мог ошибаться. Я думаю, что можно скопировать весь рабочий лист. – Harrison